name: Release Builds # on every commit to main: # frontend:main-20230223164322-b8becd1-45 # frontend:main-latest # on every tag: # frontend:latest on: push: tags: [ v* ] jobs: create_frontend_docker_container: 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@v3.0.2 with: # Disabling shallow clone is recommended for improving relevancy of reporting in sonarcloud fetch-depth: 0 - name: Log in to the Container registry uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 with: context: spiffworkflow-frontend images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push Frontend Docker image uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc 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 }} create_backend_docker_container: 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@v3.0.2 with: # Disabling shallow clone is recommended for improving relevancy of reporting in sonarcloud fetch-depth: 0 - name: Log in to the Container registry uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push Backend Docker image uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc 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 }} # 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@v3.0.2 with: # Disabling shallow clone is recommended for improving relevancy of reporting in sonarcloud fetch-depth: 0 - name: Log in to the Container registry uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 with: context: connector-proxy-demo images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push the connector proxy uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc 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 }} quickstart-guide-test: runs-on: ubuntu-latest needs: [create_frontend_docker_container, create_backend_docker_container, create_demo-proxy] steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Apps run: ./bin/run_arena_with_docker_compose - name: wait_for_backend working-directory: ./spiffworkflow-backend run: ./bin/wait_for_server_to_be_up 5 8000 - name: wait_for_frontend working-directory: ./spiffworkflow-frontend run: ./bin/wait_for_frontend_to_be_up 5 8001 - name: Cypress run uses: cypress-io/github-action@v5 with: working-directory: ./spiffworkflow-frontend browser: chrome # 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