From 82ea876a8a62f0e1b64010a2c3f94684a23163e1 Mon Sep 17 00:00:00 2001 From: jasquat Date: Thu, 6 Jun 2024 14:37:59 -0400 Subject: [PATCH] merge release and main docker builds into same file w/ burnettk --- ...ain_builds.yml => build_docker_images.yml} | 51 +++++- .github/workflows/release_builds.yml | 147 ------------------ 2 files changed, 48 insertions(+), 150 deletions(-) rename .github/workflows/{docker_image_for_main_builds.yml => build_docker_images.yml} (79%) delete mode 100644 .github/workflows/release_builds.yml diff --git a/.github/workflows/docker_image_for_main_builds.yml b/.github/workflows/build_docker_images.yml similarity index 79% rename from .github/workflows/docker_image_for_main_builds.yml rename to .github/workflows/build_docker_images.yml index 76ee980e3..b94a2755e 100644 --- a/.github/workflows/docker_image_for_main_builds.yml +++ b/.github/workflows/build_docker_images.yml @@ -30,6 +30,7 @@ on: push: branches: - main + tags: [v*] jobs: create_frontend_docker_image: @@ -68,8 +69,10 @@ jobs: org.opencontainers.image.description=Frontend component of SpiffWorkflow, a software development platform for building, running, and monitoring executable diagrams org.opencontainers.image.version=${{ env.BRANCH_NAME }}-${{ steps.date.outputs.date }}-${{ steps.commit_sha.outputs.sha_short }} tags: | - type=ref,event=branch,suffix=-latest + type=ref,event=branch,branch=main,suffix=-latest type=ref,event=branch,suffix=-${{ steps.date.outputs.date }}-${{ steps.commit_sha.outputs.sha_short }} + type=ref,event=tag,enable=true,format={{version}} + type=ref,event=tag,enable=true,format=latest - name: Write app version info working-directory: spiffworkflow-frontend @@ -122,8 +125,10 @@ jobs: org.opencontainers.image.description=Backend component of SpiffWorkflow, a software development platform for building, running, and monitoring executable diagrams org.opencontainers.image.version=${{ env.BRANCH_NAME }}-${{ steps.date.outputs.date }}-${{ steps.commit_sha.outputs.sha_short }} tags: | - type=ref,event=branch,suffix=-latest + type=ref,event=branch,branch=main,suffix=-latest type=ref,event=branch,suffix=-${{ steps.date.outputs.date }}-${{ steps.commit_sha.outputs.sha_short }} + type=ref,event=tag,enable=true,format={{version}} + type=ref,event=tag,enable=true,format=latest - name: Write app version info working-directory: spiffworkflow-backend @@ -177,8 +182,10 @@ jobs: org.opencontainers.image.description=spiffworkflow-connector-proxy-demo org.opencontainers.image.version=${{ env.BRANCH_NAME }}-${{ steps.date.outputs.date }}-${{ steps.commit_sha.outputs.sha_short }} tags: | - type=ref,event=branch,suffix=-latest + type=ref,event=branch,branch=main,suffix=-latest type=ref,event=branch,suffix=-${{ steps.date.outputs.date }}-${{ steps.commit_sha.outputs.sha_short }} + type=ref,event=tag,enable=true,format={{version}} + type=ref,event=tag,enable=true,format=latest - name: Build and push the connector proxy uses: docker/build-push-action@v5.3.0 @@ -191,3 +198,41 @@ jobs: platforms: linux/amd64,linux/arm64 - name: Adding markdown run: echo 'TAGS ${{ steps.meta.outputs.tags }}' >> "$GITHUB_STEP_SUMMARY" + + quickstart-guide-test: + runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/v') + needs: + [ + create_frontend_docker_image, + create_backend_docker_image, + create_demo_proxy_docker_image, + ] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Apps + run: ./bin/run_arena_with_docker_compose + - name: wait_for_backend + working-directory: ./spiffworkflow-backend + run: ./bin/wait_for_backend_to_be_up 5 8000 + - name: wait_for_frontend + working-directory: ./spiffworkflow-frontend + run: ./bin/wait_for_frontend_to_be_up 5 8001 + - name: wait_for_connector + working-directory: ./connector-proxy-demo + run: ./bin/wait_for_connector_to_be_up 5 8004 + - name: Cypress run + uses: cypress-io/github-action@v6 + with: + working-directory: ./spiffworkflow-frontend + browser: chromium + # just run one test to make sure we didn't completely break it + spec: cypress/e2e/process_groups.cy.js + env: + # pass GitHub token to allow accurately detecting a build vs a re-run build + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CYPRESS_SPIFFWORKFLOW_FRONTEND_AUTH_WITH_KEYCLOAK: "false" + CYPRESS_SPIFFWORKFLOW_FRONTEND_USERNAME: "admin" + CYPRESS_SPIFFWORKFLOW_FRONTEND_PASSWORD: "admin" + SPIFFWORKFLOW_FRONTEND_PORT: 8001 diff --git a/.github/workflows/release_builds.yml b/.github/workflows/release_builds.yml deleted file mode 100644 index 44c45c330..000000000 --- a/.github/workflows/release_builds.yml +++ /dev/null @@ -1,147 +0,0 @@ -name: Release Builds - -on: - push: - tags: [ v* ] - -jobs: - create_frontend_docker_image: - runs-on: ubuntu-latest - env: - REGISTRY: ghcr.io - IMAGE_NAME: sartography/spiffworkflow-frontend - permissions: - contents: read - packages: write - steps: - - name: Check out the repository - uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Log in to the Container registry - uses: docker/login-action@v3.2.0 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5.5.1 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - - name: Build and push Frontend Docker image - uses: docker/build-push-action@v5.3.0 - with: - # this action doesn't seem to respect working-directory so set context - context: spiffworkflow-frontend - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - platforms: linux/amd64,linux/arm64 - - create_backend_docker_image: - runs-on: ubuntu-latest - env: - REGISTRY: ghcr.io - IMAGE_NAME: sartography/spiffworkflow-backend - permissions: - contents: read - packages: write - steps: - - name: Check out the repository - uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Log in to the Container registry - uses: docker/login-action@v3.2.0 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5.5.1 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - - name: Build and push Backend Docker image - uses: docker/build-push-action@v5.3.0 - with: - # this action doesn't seem to respect working-directory so set context - context: spiffworkflow-backend - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - platforms: linux/amd64,linux/arm64 -# Is this getting updated, I wonder? - create_demo-proxy: - runs-on: ubuntu-latest - env: - REGISTRY: ghcr.io - IMAGE_NAME: sartography/connector-proxy-demo - - permissions: - contents: read - packages: write - steps: - - name: Check out the repository - uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Log in to the Container registry - uses: docker/login-action@v3.2.0 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5.5.1 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - - name: Build and push the connector proxy - uses: docker/build-push-action@v5.3.0 - with: - # this action doesn't seem to respect working-directory so set context - context: connector-proxy-demo - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - platforms: linux/amd64,linux/arm64 - - quickstart-guide-test: - runs-on: ubuntu-latest - needs: [create_frontend_docker_image, create_backend_docker_image, create_demo-proxy] - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup Apps - run: ./bin/run_arena_with_docker_compose - - name: wait_for_backend - working-directory: ./spiffworkflow-backend - run: ./bin/wait_for_backend_to_be_up 5 8000 - - name: wait_for_frontend - working-directory: ./spiffworkflow-frontend - run: ./bin/wait_for_frontend_to_be_up 5 8001 - - name: wait_for_connector - working-directory: ./connector-proxy-demo - run: ./bin/wait_for_connector_to_be_up 5 8004 - - name: Cypress run - uses: cypress-io/github-action@v6 - with: - working-directory: ./spiffworkflow-frontend - browser: chromium - # just run one test to make sure we didn't completely break it - spec: cypress/e2e/process_groups.cy.js - env: - # pass GitHub token to allow accurately detecting a build vs a re-run build - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - CYPRESS_SPIFFWORKFLOW_FRONTEND_AUTH_WITH_KEYCLOAK: "false" - CYPRESS_SPIFFWORKFLOW_FRONTEND_USERNAME: "admin" - CYPRESS_SPIFFWORKFLOW_FRONTEND_PASSWORD: "admin" - SPIFFWORKFLOW_FRONTEND_PORT: 8001