name: CI on: push: branches: ['main'] tags: - 'v0.7.*' - 's0.7.*' pull_request: branches: ['main'] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 2 - uses: actions/setup-node@v3 with: node-version: 22 - name: Verify Change Logs run: node common/scripts/install-run-rush.js change --verify - name: Rush Install run: node common/scripts/install-run-rush.js install - name: Rush validate run: node common/scripts/install-run-rush.js validate --verbose publish: runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/v0.7.') || startsWith(github.ref, 'refs/tags/s0.7.') steps: - uses: actions/checkout@v3 with: fetch-depth: 2 - uses: actions/setup-node@v3 with: node-version: 22 - name: Install dependencies run: node common/scripts/install-run-rush.js install - name: Rush validate run: node common/scripts/install-run-rush.js validate --verbose - name: Publish packages env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: node common/scripts/install-run-rush.js publish --include-all --publish docker: runs-on: ubuntu-latest timeout-minutes: 60 steps: - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Configure docker uses: docker/setup-docker-action@v4 with: daemon-config: | { "features": { "containerd-snapshotter": true } } - uses: actions/checkout@v3 with: fetch-depth: 2 - uses: actions/setup-node@v3 with: node-version: 22 - name: Verify Change Logs run: node common/scripts/install-run-rush.js change --verify - name: Rush Install run: node common/scripts/install-run-rush.js install - name: Rush validate run: node common/scripts/install-run-rush.js validate --verbose - name: Docker build run: | node common/scripts/install-run-rush.js docker:build -v docker builder prune -a -f env: DOCKER_CLI_HINTS: false DOCKER_EXTRA: --platform=linux/amd64,linux/arm64 - name: Login to Docker Hub if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/tags/s') }} uses: docker/login-action@v3 with: username: hardcoreeng password: ${{ secrets.DOCKER_ACCESS_TOKEN }} - name: Docker push tag if: ${{ startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/tags/s') }} run: | echo Pushing release of tag ${{ github.ref }} node common/scripts/install-run-rush.js docker:push -v