name: Release on: workflow_dispatch jobs: build: strategy: matrix: os: [ubuntu-latest, macos-latest] uses: ./.github/workflows/build.yml with: os: ${{ matrix.os }} test: needs: build uses: ./.github/workflows/test.yml release: name: Release needs: [build, test] runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '18' - name: Install Dependencies run: npm ci - name: Download artifacts uses: actions/download-artifact@v3 with: name: dist-ubuntu-latest path: dist - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: | if [ ${{ github.ref == 'refs/heads/master' }} ]; then npx semantic-release else npx semantic-release --dry-run fi - name: Archive npm failure logs uses: actions/upload-artifact@v3 if: failure() with: name: npm-logs path: ~/.npm/_logs