Preview - Build, Test, and Push #3838
This file contains 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 | |
- dev | |
- dev-rspm | |
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 }} | |
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 -f ci.Justfile get-version workbench --type=daily --local) | |
echo "WORKBENCH_DAILY_VERSION=$WORKBENCH_DAILY_VERSION" >> $GITHUB_OUTPUT | |
WORKBENCH_PREVIEW_VERSION=$(just -f ci.Justfile get-version workbench --type=preview --local) | |
echo "WORKBENCH_PREVIEW_VERSION=$WORKBENCH_PREVIEW_VERSION" >> $GITHUB_OUTPUT | |
PACKAGE_MANAGER_DAILY_VERSION=$(just -f ci.Justfile get-version package-manager --type=daily --local) | |
echo "PACKAGE_MANAGER_DAILY_VERSION=$PACKAGE_MANAGER_DAILY_VERSION" >> $GITHUB_OUTPUT | |
PACKAGE_MANAGER_PREVIEW_VERSION=$(just -f ci.Justfile get-version package-manager --type=preview --local) | |
echo "PACKAGE_MANAGER_PREVIEW_VERSION=$PACKAGE_MANAGER_PREVIEW_VERSION" >> $GITHUB_OUTPUT | |
CONNECT_DAILY_VERSION=$(just -f ci.Justfile 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' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/dev-rspm' }} | |
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' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/dev-rspm' }} | |
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' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/dev-rspm' }} | |
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' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/dev-rspm' }} | |
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' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/dev-rspm' }} | |
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' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/dev-rspm' }} | |
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' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/dev-rspm' }} | |
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' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/dev-rspm' }} | |
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' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/dev-rspm' }} | |
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 }}' |