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@v3.3.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry uses: docker/login-action@v3.0.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@v4.4.0 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push Frontend Docker image uses: docker/build-push-action@v4.0.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@v3.3.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry uses: docker/login-action@v3.0.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@v4.4.0 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push Backend Docker image uses: docker/build-push-action@v4.0.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@v3.3.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry uses: docker/login-action@v3.0.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@v4.4.0 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push the connector proxy uses: docker/build-push-action@v4.0.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@v3 - 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@v5 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