Preview - Build, Test, and Push #17900
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
| on: | |
| schedule: | |
| - cron: '0 * * * *' | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| name: Preview - Build, Test, and Push | |
| jobs: | |
| versions: | |
| name: Fetch product daily/preview versions | |
| runs-on: ubuntu-latest | |
| concurrency: | |
| group: fetch-versions-${{ github.ref }} | |
| cancel-in-progress: true | |
| outputs: | |
| WORKBENCH_DAILY_VERSION: ${{ steps.get-version.outputs.WORKBENCH_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ steps.get-version.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| WORKBENCH_SESSION_INIT_DAILY_VERSION: ${{ steps.get-version.outputs.WORKBENCH_SESSION_INIT_DAILY_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ steps.get-version.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ steps.get-version.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ steps.get-version.outputs.CONNECT_DAILY_VERSION }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Just | |
| uses: extractions/setup-just@v2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install Python dependencies | |
| run: | | |
| pip install requests | |
| - name: Get Version | |
| id: get-version | |
| run: | | |
| WORKBENCH_DAILY_VERSION=$(just get-version workbench --type=daily --local) | |
| echo "WORKBENCH_DAILY_VERSION=$WORKBENCH_DAILY_VERSION" >> $GITHUB_OUTPUT | |
| WORKBENCH_PREVIEW_VERSION=$(just get-version workbench --type=preview --local) | |
| echo "WORKBENCH_PREVIEW_VERSION=$WORKBENCH_PREVIEW_VERSION" >> $GITHUB_OUTPUT | |
| WORKBENCH_SESSION_INIT_DAILY_VERSION=$(just get-version workbench-session-init --type=daily --local) | |
| echo "WORKBENCH_SESSION_INIT_DAILY_VERSION=$WORKBENCH_SESSION_INIT_DAILY_VERSION" >> $GITHUB_OUTPUT | |
| PACKAGE_MANAGER_DAILY_VERSION=$(just get-version package-manager --type=daily --local) | |
| echo "PACKAGE_MANAGER_DAILY_VERSION=$PACKAGE_MANAGER_DAILY_VERSION" >> $GITHUB_OUTPUT | |
| PACKAGE_MANAGER_PREVIEW_VERSION=$(just get-version package-manager --type=preview --local) | |
| echo "PACKAGE_MANAGER_PREVIEW_VERSION=$PACKAGE_MANAGER_PREVIEW_VERSION" >> $GITHUB_OUTPUT | |
| CONNECT_DAILY_VERSION=$(just get-version connect --type=daily --local) | |
| echo "CONNECT_DAILY_VERSION=$CONNECT_DAILY_VERSION" >> $GITHUB_OUTPUT | |
| base: | |
| needs: [versions] | |
| name: Base Image Previews | |
| runs-on: ubuntu-latest-4x | |
| env: | |
| target: "base-dev-images" | |
| WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| concurrency: | |
| group: bake-base-preview-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Check Out main Branch | |
| if: github.event.schedule == '0 8 * * *' | |
| uses: actions/checkout@v4 | |
| with: | |
| ref: 'main' | |
| - name: Check Out Repo at Triggered Branch | |
| if: github.event.schedule != '0 8 * * *' | |
| uses: actions/checkout@v3 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| buildkitd-config: ./share/buildkitd.toml | |
| - name: Build, Test, and Push | |
| uses: ./.github/actions/bake-test-push | |
| with: | |
| target: ${{ env.target }} | |
| bakefile: docker-bake.preview.hcl | |
| push-image: ${{ github.ref == 'refs/heads/main' }} | |
| ghcr-token: ${{ secrets.GITHUB_TOKEN }} | |
| dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| snyk-org: ${{ secrets.SNYK_ORG }} | |
| snyk-token: '${{ secrets.SNYK_TOKEN }}' | |
| connect-daily: | |
| needs: [versions] | |
| name: Connect - Daily | |
| runs-on: ubuntu-latest-4x | |
| env: | |
| target: "connect-daily" | |
| WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| concurrency: | |
| group: bake-connect-daily-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| id: setup-buildx | |
| with: | |
| buildkitd-config: ./share/buildkitd.toml | |
| - name: Build, Test, and Push | |
| uses: ./.github/actions/bake-test-push | |
| with: | |
| target: ${{ env.target }} | |
| bakefile: docker-bake.preview.hcl | |
| push-image: ${{ github.ref == 'refs/heads/main' }} | |
| ghcr-token: ${{ secrets.GITHUB_TOKEN }} | |
| dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| snyk-org: ${{ secrets.SNYK_ORG }} | |
| snyk-token: '${{ secrets.SNYK_TOKEN }}' | |
| connect-content-init-daily: | |
| needs: [versions] | |
| name: Connect Content Init - Daily | |
| runs-on: ubuntu-latest-4x | |
| env: | |
| target: "connect-content-init-daily" | |
| WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| concurrency: | |
| group: bake-connect-content-init-daily-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| id: setup-buildx | |
| with: | |
| buildkitd-config: ./share/buildkitd.toml | |
| - name: Build, Test, and Push | |
| uses: ./.github/actions/bake-test-push | |
| with: | |
| target: ${{ env.target }} | |
| bakefile: docker-bake.preview.hcl | |
| push-image: ${{ github.ref == 'refs/heads/main' }} | |
| ghcr-token: ${{ secrets.GITHUB_TOKEN }} | |
| dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| snyk-org: ${{ secrets.SNYK_ORG }} | |
| snyk-token: '${{ secrets.SNYK_TOKEN }}' | |
| package-manager-preview: | |
| needs: [versions] | |
| name: Package Manager - Preview | |
| runs-on: ubuntu-latest-4x | |
| env: | |
| target: "package-manager-preview" | |
| WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| concurrency: | |
| group: bake-package-manager-preview-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| id: setup-buildx | |
| with: | |
| buildkitd-config: ./share/buildkitd.toml | |
| - name: Build, Test, and Push | |
| uses: ./.github/actions/bake-test-push | |
| with: | |
| target: ${{ env.target }} | |
| bakefile: docker-bake.preview.hcl | |
| push-image: ${{ github.ref == 'refs/heads/main' }} | |
| ghcr-token: ${{ secrets.GITHUB_TOKEN }} | |
| dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| snyk-org: ${{ secrets.SNYK_ORG }} | |
| snyk-token: '${{ secrets.SNYK_TOKEN }}' | |
| package-manager-daily: | |
| needs: [versions] | |
| name: Package Manager - Daily | |
| runs-on: ubuntu-latest-4x | |
| env: | |
| target: "package-manager-daily" | |
| WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| concurrency: | |
| group: bake-package-manager-daily-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| id: setup-buildx | |
| with: | |
| buildkitd-config: ./share/buildkitd.toml | |
| - name: Build, Test, and Push | |
| uses: ./.github/actions/bake-test-push | |
| with: | |
| target: ${{ env.target }} | |
| bakefile: docker-bake.preview.hcl | |
| push-image: ${{ github.ref == 'refs/heads/main' }} | |
| ghcr-token: ${{ secrets.GITHUB_TOKEN }} | |
| dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| snyk-org: ${{ secrets.SNYK_ORG }} | |
| snyk-token: '${{ secrets.SNYK_TOKEN }}' | |
| r-session-complete-preview: | |
| needs: [versions] | |
| name: R Session Complete - Preview | |
| runs-on: ubuntu-latest-4x | |
| env: | |
| target: "r-session-complete-preview" | |
| WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| concurrency: | |
| group: bake-r-session-complete-preview-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| id: setup-buildx | |
| with: | |
| buildkitd-config: ./share/buildkitd.toml | |
| - name: Build, Test, and Push | |
| uses: ./.github/actions/bake-test-push | |
| with: | |
| target: ${{ env.target }} | |
| bakefile: docker-bake.preview.hcl | |
| push-image: ${{ github.ref == 'refs/heads/main' }} | |
| ghcr-token: ${{ secrets.GITHUB_TOKEN }} | |
| dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| snyk-org: ${{ secrets.SNYK_ORG }} | |
| snyk-token: '${{ secrets.SNYK_TOKEN }}' | |
| r-session-complete-daily: | |
| needs: [versions] | |
| name: R Session Complete - Daily | |
| runs-on: ubuntu-latest-4x | |
| env: | |
| target: "r-session-complete-daily" | |
| WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| concurrency: | |
| group: bake-r-session-complete-daily-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| id: setup-buildx | |
| with: | |
| buildkitd-config: ./share/buildkitd.toml | |
| - name: Build, Test, and Push | |
| uses: ./.github/actions/bake-test-push | |
| with: | |
| target: ${{ env.target }} | |
| bakefile: docker-bake.preview.hcl | |
| push-image: ${{ github.ref == 'refs/heads/main' }} | |
| ghcr-token: ${{ secrets.GITHUB_TOKEN }} | |
| dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| snyk-org: ${{ secrets.SNYK_ORG }} | |
| snyk-token: '${{ secrets.SNYK_TOKEN }}' | |
| workbench-preview: | |
| needs: [versions] | |
| name: Workbench - Preview | |
| runs-on: ubuntu-latest-4x | |
| env: | |
| target: "workbench-preview" | |
| WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| concurrency: | |
| group: bake-workbench-preview-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| id: setup-buildx | |
| with: | |
| buildkitd-config: ./share/buildkitd.toml | |
| - name: Build, Test, and Push | |
| uses: ./.github/actions/bake-test-push | |
| with: | |
| target: ${{ env.target }} | |
| bakefile: docker-bake.preview.hcl | |
| push-image: ${{ github.ref == 'refs/heads/main' }} | |
| ghcr-token: ${{ secrets.GITHUB_TOKEN }} | |
| dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| snyk-org: ${{ secrets.SNYK_ORG }} | |
| snyk-token: '${{ secrets.SNYK_TOKEN }}' | |
| workbench-daily: | |
| needs: [versions] | |
| name: Workbench - Daily | |
| runs-on: ubuntu-latest-4x | |
| env: | |
| target: "workbench-daily" | |
| WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| concurrency: | |
| group: bake-workbench-daily-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| id: setup-buildx | |
| with: | |
| buildkitd-config: ./share/buildkitd.toml | |
| - name: Build, Test, and Push | |
| uses: ./.github/actions/bake-test-push | |
| with: | |
| target: ${{ env.target }} | |
| bakefile: docker-bake.preview.hcl | |
| push-image: ${{ github.ref == 'refs/heads/main' }} | |
| ghcr-token: ${{ secrets.GITHUB_TOKEN }} | |
| dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| snyk-org: ${{ secrets.SNYK_ORG }} | |
| snyk-token: '${{ secrets.SNYK_TOKEN }}' | |
| workbench-session-init-daily: | |
| needs: [versions] | |
| name: Workbench Session Init - Daily | |
| runs-on: ubuntu-latest-4x | |
| env: | |
| target: "workbench-session-init-daily" | |
| WORKBENCH_DAILY_VERSION: ${{ needs.versions.outputs.WORKBENCH_SESSION_INIT_DAILY_VERSION }} | |
| WORKBENCH_PREVIEW_VERSION: ${{ needs.versions.outputs.WORKBENCH_PREVIEW_VERSION }} | |
| PACKAGE_MANAGER_DAILY_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_DAILY_VERSION }} | |
| PACKAGE_MANAGER_PREVIEW_VERSION: ${{ needs.versions.outputs.PACKAGE_MANAGER_PREVIEW_VERSION }} | |
| CONNECT_DAILY_VERSION: ${{ needs.versions.outputs.CONNECT_DAILY_VERSION }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| concurrency: | |
| group: bake-workbench-session-init-daily-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| id: setup-buildx | |
| with: | |
| buildkitd-config: ./share/buildkitd.toml | |
| - name: Build, Test, and Push | |
| uses: ./.github/actions/bake-test-push | |
| with: | |
| target: ${{ env.target }} | |
| bakefile: docker-bake.preview.hcl | |
| push-image: ${{ github.ref == 'refs/heads/main' }} | |
| ghcr-token: ${{ secrets.GITHUB_TOKEN }} | |
| dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| snyk-org: ${{ secrets.SNYK_ORG }} | |
| snyk-token: '${{ secrets.SNYK_TOKEN }}' |