Merge pull request #251 from rescript-lang/issue-242-final-integration #560
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - pre-alpha | |
| pull_request: | |
| branches: | |
| - pre-alpha | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| registry-url: https://registry.npmjs.org # Needed to make auth work for publishing | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Check formatting | |
| run: npm run format:check | |
| - name: Rebuild ReScript code | |
| run: npm run build | |
| - name: Run tests | |
| run: npm test | |
| # Pre-alpha should skip docs build/publish until the docs pipeline is ready. | |
| # - name: Build documentation | |
| # run: npm run build:docs | |
| # Pre-alpha should not publish docs. | |
| # - name: Upload documentation | |
| # uses: actions/upload-pages-artifact@v4 | |
| # if: github.ref == 'refs/heads/pre-alpha' && github.event_name == 'push' | |
| # with: | |
| # path: ./dist | |
| - name: get-npm-version | |
| id: package-version | |
| uses: martinbeentjes/npm-get-version-action@v1.3.1 | |
| - name: Get short commit hash | |
| id: vars | |
| run: echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV | |
| - name: Update version to -<commit-hash> | |
| run: npm version --no-git-tag-version "${{ steps.package-version.outputs.current-version }}-pre-alpha-${{ env.COMMIT_HASH }}" | |
| - name: Package npm project | |
| run: npm pack | |
| - name: Upload npm package artifact | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: npm-package | |
| path: "*.tgz" | |
| - name: Publish to npm | |
| if: github.ref == 'refs/heads/pre-alpha' && github.event_name == 'push' | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} | |
| run: npm publish --access public ./*.tgz --tag pre-alpha | |
| # deploy-docs: | |
| # needs: build | |
| # runs-on: ubuntu-latest | |
| # environment: | |
| # name: github-pages | |
| # url: ${{ steps.deployment.outputs.page_url }} | |
| # if: github.ref == 'refs/heads/pre-alpha' && github.event_name == 'push' | |
| # steps: | |
| # - name: Deploy to GitHub Pages | |
| # id: deployment | |
| # uses: actions/deploy-pages@v5 |