spiff-arena/.github/workflows/docker_image_for_main_builds.yml

136 lines
5.4 KiB
YAML
Raw Normal View History

name: Docker Image For Main Builds
# we want to be able to sort by tag name to find the newest and trace back to source control
# on every commit to main:
# frontend:main-20230223164322-b8becd1-45
# frontend:main-latest
# we settled on:
# main-2023-02-24_16-16-40
# because the labels on the docker image itself have the git sha and everything else :)
# on every tag:
# frontend:latest
#
# Example docker image labels:
# "Labels": {
# "description": "Software development platform for building, running, and monitoring executable diagrams",
# "org.opencontainers.image.created": "2023-02-24T16:43:00.844Z",
# "org.opencontainers.image.description": "",
# "org.opencontainers.image.licenses": "LGPL-2.1",
# "org.opencontainers.image.revision": "54064a050fbf9f366648f0f2e2c60ce244fcc421",
# "org.opencontainers.image.source": "https://github.com/sartography/spiff-arena",
# "org.opencontainers.image.title": "spiff-arena",
# "org.opencontainers.image.url": "https://github.com/sartography/spiff-arena",
# "org.opencontainers.image.version": "main-latest",
# "source": "https://github.com/sartography/spiff-arena"
# }
#
# Git tags for an image:
# curl -H "Authorization: Bearer $(echo -n $TOKEN | base64 -w0)" https://ghcr.io/v2/sartography/spiffworkflow-backend/tags/list | jq -r '.tags | sort_by(.)'
on:
push:
branches:
- main
- feature/event-payloads-part-2
- feature/event-payload-migration-fix
Feature/interstitial summary part 3 (#367) * throw an error if backend gives a 500 from interstitial page w/ burnettk * turn unexpected errors for the interstitial page into event stream responses to avoid error misdirection * pyl * raise the api_error from the original and make the render_data method private * Feature/interstitial summary (#337) * * Process instance logs and messages are now components rather than pages, and are included within tabs on the process instance page, along with the diagram. * Removed the Zoom and Move modules when showing the readonly Diagram. Assured this readonly view is resized to fit the space when possible. * Checkbox Widget no longer displays a duplicate label. * CSS Tweaks * All pages are limited to a max display width of 1440, with auto margins to center the main content on the page. * "Show" pages, like ProcessInstanceShow, TaskShow have the primary content limited to 1000, also with auto-margins. * Paragraphs, headings, blockquotes, list items are limited to a width of 640. * Reduced margin bottom on all breadcrumbs. * Slightly reduced the width and margin of tiles * ordered lists and unordered lists show numbers and bullets now. * End user Instructions component can, optionally, auto-collapse, so that only a portion is displayed, along with a toggle. This is how it is set up for the ProcessInstanceShow page. * Greatly reduced the lag in the interstitial page when doing a re-direct. * run_pyl * kill console * wait for permissionsLoaded too since we are using ability.can * Previous change removed the top level Messages page - this re-adds it. * I am always, ALWAYS shocked at how I can not wrap my head around when and where to use "useEffect". This should cause the show/hide Instructions toggle to only show when useful. * Minor cleanup on the process instance properties display. * linting --------- Co-authored-by: burnettk <burnettk@users.noreply.github.com> * Fix a linting error. * minor permissions related fixes for the new ui. * Revert "Revert "Feature/better subworkflow management (#331)"" This reverts commit 48dcde8faf00241201c515b54444fe9fb373c7f4. * do not execute tasks from the process instance show page w/ burnettk * pyl w/ burnettk * Very minor UI tweak to resolve a number of issues mentioned in SPIFF-316 Notion Ticket: * Markdown links now open in a new window * Tables on the home pages are now contained within Grids to better align them with the other content that is in a grid. * Right aligned the "process instance list link" button to it is flush right with the table underneath * Gave a little more breathing room the content on the info/metadata in the process instance view . * updated docker image build action to contain the appropriate version info w/ burnettk * properly resize to the available columns depending on s/m/l --------- Co-authored-by: jasquat <jasquat@users.noreply.github.com> Co-authored-by: Dan Funk <daniel.h.funk@gmail.com> Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-03 01:24:54 -04:00
- spiffdemo
Feature/business end states (#333) * WIP: some updates to support new spiff w/ burnettk * unit tests are passing * all tests except message tests are passing * fixed usage of catch message event w/ burnettk * messages are working again w/ burnettk * uncommented remaining message tests w/ burnettk * fixed cypress tests w/ burnettk * use main for spiffworkflow * translated mysql last milestone query to sqlalchemy w/ burnettk * fixed last milestone query so instances still return if no milestone found and moved some code from the main report method to own methods * added some comments * added last milestone column to process instances table * display last milestone in instance list table w/ burnettk * remove 3 characters when truncating last milestone for ellipsis * make sure we have a current processor so we don't return null * remove sleep * The background processor now only picks up processes that were last updated more than a minute ago to avoid conflicting with the interstitial page. With the understanding that we can rmeove this limitation when we can refactor to allow the backend processes to provide updates on what they are doing. * pyl w/ burnettk * cache last milestone on instances * pyl * added test for last milestone and added it to the proces instance show page w/ burnettk * fixed broken test w/ burnettk * fixed last milestone header * removed duplicated column * fixed broken test --------- Co-authored-by: jasquat <jasquat@users.noreply.github.com> Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com> Co-authored-by: danfunk <daniel.h.funk@gmail.com> Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-07 10:10:44 -04:00
- feature/business_end_states
- feature/allow-markdown-in-extension-results
jobs:
create_frontend_docker_image:
runs-on: ubuntu-latest
env:
REGISTRY: ghcr.io
IMAGE_NAME: sartography/spiffworkflow-frontend
Feature/interstitial summary part 3 (#367) * throw an error if backend gives a 500 from interstitial page w/ burnettk * turn unexpected errors for the interstitial page into event stream responses to avoid error misdirection * pyl * raise the api_error from the original and make the render_data method private * Feature/interstitial summary (#337) * * Process instance logs and messages are now components rather than pages, and are included within tabs on the process instance page, along with the diagram. * Removed the Zoom and Move modules when showing the readonly Diagram. Assured this readonly view is resized to fit the space when possible. * Checkbox Widget no longer displays a duplicate label. * CSS Tweaks * All pages are limited to a max display width of 1440, with auto margins to center the main content on the page. * "Show" pages, like ProcessInstanceShow, TaskShow have the primary content limited to 1000, also with auto-margins. * Paragraphs, headings, blockquotes, list items are limited to a width of 640. * Reduced margin bottom on all breadcrumbs. * Slightly reduced the width and margin of tiles * ordered lists and unordered lists show numbers and bullets now. * End user Instructions component can, optionally, auto-collapse, so that only a portion is displayed, along with a toggle. This is how it is set up for the ProcessInstanceShow page. * Greatly reduced the lag in the interstitial page when doing a re-direct. * run_pyl * kill console * wait for permissionsLoaded too since we are using ability.can * Previous change removed the top level Messages page - this re-adds it. * I am always, ALWAYS shocked at how I can not wrap my head around when and where to use "useEffect". This should cause the show/hide Instructions toggle to only show when useful. * Minor cleanup on the process instance properties display. * linting --------- Co-authored-by: burnettk <burnettk@users.noreply.github.com> * Fix a linting error. * minor permissions related fixes for the new ui. * Revert "Revert "Feature/better subworkflow management (#331)"" This reverts commit 48dcde8faf00241201c515b54444fe9fb373c7f4. * do not execute tasks from the process instance show page w/ burnettk * pyl w/ burnettk * Very minor UI tweak to resolve a number of issues mentioned in SPIFF-316 Notion Ticket: * Markdown links now open in a new window * Tables on the home pages are now contained within Grids to better align them with the other content that is in a grid. * Right aligned the "process instance list link" button to it is flush right with the table underneath * Gave a little more breathing room the content on the info/metadata in the process instance view . * updated docker image build action to contain the appropriate version info w/ burnettk * properly resize to the available columns depending on s/m/l --------- Co-authored-by: jasquat <jasquat@users.noreply.github.com> Co-authored-by: Dan Funk <daniel.h.funk@gmail.com> Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-03 01:24:54 -04:00
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
permissions:
contents: read
packages: write
steps:
- name: Check out the repository
uses: actions/checkout@v3.3.0
- name: Log in to the Container registry
uses: docker/login-action@v2.1.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get current date
id: date
2023-03-16 23:43:59 -04:00
run: echo "date=$(date -u +'%Y-%m-%d_%H-%M-%S')" >> "$GITHUB_OUTPUT"
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4.4.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
2023-05-13 22:43:58 -04:00
labels: |
org.opencontainers.image.description=Frontend component of SpiffWorkflow, a software development platform for building, running, and monitoring executable diagrams
Feature/interstitial summary part 3 (#367) * throw an error if backend gives a 500 from interstitial page w/ burnettk * turn unexpected errors for the interstitial page into event stream responses to avoid error misdirection * pyl * raise the api_error from the original and make the render_data method private * Feature/interstitial summary (#337) * * Process instance logs and messages are now components rather than pages, and are included within tabs on the process instance page, along with the diagram. * Removed the Zoom and Move modules when showing the readonly Diagram. Assured this readonly view is resized to fit the space when possible. * Checkbox Widget no longer displays a duplicate label. * CSS Tweaks * All pages are limited to a max display width of 1440, with auto margins to center the main content on the page. * "Show" pages, like ProcessInstanceShow, TaskShow have the primary content limited to 1000, also with auto-margins. * Paragraphs, headings, blockquotes, list items are limited to a width of 640. * Reduced margin bottom on all breadcrumbs. * Slightly reduced the width and margin of tiles * ordered lists and unordered lists show numbers and bullets now. * End user Instructions component can, optionally, auto-collapse, so that only a portion is displayed, along with a toggle. This is how it is set up for the ProcessInstanceShow page. * Greatly reduced the lag in the interstitial page when doing a re-direct. * run_pyl * kill console * wait for permissionsLoaded too since we are using ability.can * Previous change removed the top level Messages page - this re-adds it. * I am always, ALWAYS shocked at how I can not wrap my head around when and where to use "useEffect". This should cause the show/hide Instructions toggle to only show when useful. * Minor cleanup on the process instance properties display. * linting --------- Co-authored-by: burnettk <burnettk@users.noreply.github.com> * Fix a linting error. * minor permissions related fixes for the new ui. * Revert "Revert "Feature/better subworkflow management (#331)"" This reverts commit 48dcde8faf00241201c515b54444fe9fb373c7f4. * do not execute tasks from the process instance show page w/ burnettk * pyl w/ burnettk * Very minor UI tweak to resolve a number of issues mentioned in SPIFF-316 Notion Ticket: * Markdown links now open in a new window * Tables on the home pages are now contained within Grids to better align them with the other content that is in a grid. * Right aligned the "process instance list link" button to it is flush right with the table underneath * Gave a little more breathing room the content on the info/metadata in the process instance view . * updated docker image build action to contain the appropriate version info w/ burnettk * properly resize to the available columns depending on s/m/l --------- Co-authored-by: jasquat <jasquat@users.noreply.github.com> Co-authored-by: Dan Funk <daniel.h.funk@gmail.com> Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-03 01:24:54 -04:00
org.opencontainers.image.version=${{ env.BRANCH_NAME }}-${{ steps.date.outputs.date }}
tags: |
type=ref,event=branch,suffix=-latest
type=ref,event=branch,suffix=-${{ steps.date.outputs.date }}
- name: Write app version info
working-directory: spiffworkflow-frontend
2023-04-23 23:41:28 -04:00
run: echo "$DOCKER_METADATA_OUTPUT_JSON" | jq '.labels' > version_info.json
- 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 }}
2023-03-16 23:43:59 -04:00
- run: echo 'TAGS' >> "$GITHUB_STEP_SUMMARY"
- run: echo 'TAGS ${{ steps.meta.outputs.tags }}' >> "$GITHUB_STEP_SUMMARY"
create_backend_docker_image:
runs-on: ubuntu-latest
env:
REGISTRY: ghcr.io
IMAGE_NAME: sartography/spiffworkflow-backend
Feature/interstitial summary part 3 (#367) * throw an error if backend gives a 500 from interstitial page w/ burnettk * turn unexpected errors for the interstitial page into event stream responses to avoid error misdirection * pyl * raise the api_error from the original and make the render_data method private * Feature/interstitial summary (#337) * * Process instance logs and messages are now components rather than pages, and are included within tabs on the process instance page, along with the diagram. * Removed the Zoom and Move modules when showing the readonly Diagram. Assured this readonly view is resized to fit the space when possible. * Checkbox Widget no longer displays a duplicate label. * CSS Tweaks * All pages are limited to a max display width of 1440, with auto margins to center the main content on the page. * "Show" pages, like ProcessInstanceShow, TaskShow have the primary content limited to 1000, also with auto-margins. * Paragraphs, headings, blockquotes, list items are limited to a width of 640. * Reduced margin bottom on all breadcrumbs. * Slightly reduced the width and margin of tiles * ordered lists and unordered lists show numbers and bullets now. * End user Instructions component can, optionally, auto-collapse, so that only a portion is displayed, along with a toggle. This is how it is set up for the ProcessInstanceShow page. * Greatly reduced the lag in the interstitial page when doing a re-direct. * run_pyl * kill console * wait for permissionsLoaded too since we are using ability.can * Previous change removed the top level Messages page - this re-adds it. * I am always, ALWAYS shocked at how I can not wrap my head around when and where to use "useEffect". This should cause the show/hide Instructions toggle to only show when useful. * Minor cleanup on the process instance properties display. * linting --------- Co-authored-by: burnettk <burnettk@users.noreply.github.com> * Fix a linting error. * minor permissions related fixes for the new ui. * Revert "Revert "Feature/better subworkflow management (#331)"" This reverts commit 48dcde8faf00241201c515b54444fe9fb373c7f4. * do not execute tasks from the process instance show page w/ burnettk * pyl w/ burnettk * Very minor UI tweak to resolve a number of issues mentioned in SPIFF-316 Notion Ticket: * Markdown links now open in a new window * Tables on the home pages are now contained within Grids to better align them with the other content that is in a grid. * Right aligned the "process instance list link" button to it is flush right with the table underneath * Gave a little more breathing room the content on the info/metadata in the process instance view . * updated docker image build action to contain the appropriate version info w/ burnettk * properly resize to the available columns depending on s/m/l --------- Co-authored-by: jasquat <jasquat@users.noreply.github.com> Co-authored-by: Dan Funk <daniel.h.funk@gmail.com> Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-03 01:24:54 -04:00
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
permissions:
contents: read
packages: write
steps:
- name: Check out the repository
uses: actions/checkout@v3.3.0
- name: Log in to the Container registry
uses: docker/login-action@v2.1.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get current date
id: date
2023-03-16 23:43:59 -04:00
run: echo "date=$(date -u +'%Y-%m-%d_%H-%M-%S')" >> "$GITHUB_OUTPUT"
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4.4.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
2023-05-13 22:43:58 -04:00
labels: |
org.opencontainers.image.description=Backend component of SpiffWorkflow, a software development platform for building, running, and monitoring executable diagrams
Feature/interstitial summary part 3 (#367) * throw an error if backend gives a 500 from interstitial page w/ burnettk * turn unexpected errors for the interstitial page into event stream responses to avoid error misdirection * pyl * raise the api_error from the original and make the render_data method private * Feature/interstitial summary (#337) * * Process instance logs and messages are now components rather than pages, and are included within tabs on the process instance page, along with the diagram. * Removed the Zoom and Move modules when showing the readonly Diagram. Assured this readonly view is resized to fit the space when possible. * Checkbox Widget no longer displays a duplicate label. * CSS Tweaks * All pages are limited to a max display width of 1440, with auto margins to center the main content on the page. * "Show" pages, like ProcessInstanceShow, TaskShow have the primary content limited to 1000, also with auto-margins. * Paragraphs, headings, blockquotes, list items are limited to a width of 640. * Reduced margin bottom on all breadcrumbs. * Slightly reduced the width and margin of tiles * ordered lists and unordered lists show numbers and bullets now. * End user Instructions component can, optionally, auto-collapse, so that only a portion is displayed, along with a toggle. This is how it is set up for the ProcessInstanceShow page. * Greatly reduced the lag in the interstitial page when doing a re-direct. * run_pyl * kill console * wait for permissionsLoaded too since we are using ability.can * Previous change removed the top level Messages page - this re-adds it. * I am always, ALWAYS shocked at how I can not wrap my head around when and where to use "useEffect". This should cause the show/hide Instructions toggle to only show when useful. * Minor cleanup on the process instance properties display. * linting --------- Co-authored-by: burnettk <burnettk@users.noreply.github.com> * Fix a linting error. * minor permissions related fixes for the new ui. * Revert "Revert "Feature/better subworkflow management (#331)"" This reverts commit 48dcde8faf00241201c515b54444fe9fb373c7f4. * do not execute tasks from the process instance show page w/ burnettk * pyl w/ burnettk * Very minor UI tweak to resolve a number of issues mentioned in SPIFF-316 Notion Ticket: * Markdown links now open in a new window * Tables on the home pages are now contained within Grids to better align them with the other content that is in a grid. * Right aligned the "process instance list link" button to it is flush right with the table underneath * Gave a little more breathing room the content on the info/metadata in the process instance view . * updated docker image build action to contain the appropriate version info w/ burnettk * properly resize to the available columns depending on s/m/l --------- Co-authored-by: jasquat <jasquat@users.noreply.github.com> Co-authored-by: Dan Funk <daniel.h.funk@gmail.com> Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-03 01:24:54 -04:00
org.opencontainers.image.version=${{ env.BRANCH_NAME }}-${{ steps.date.outputs.date }}
tags: |
type=ref,event=branch,suffix=-latest
type=ref,event=branch,suffix=-${{ steps.date.outputs.date }}
- name: Write app version info
working-directory: spiffworkflow-backend
2023-04-23 23:41:28 -04:00
run: echo "$DOCKER_METADATA_OUTPUT_JSON" | jq '.labels' > version_info.json
- 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 }}
- name: Adding markdown
2023-03-16 23:43:59 -04:00
run: echo 'TAGS ${{ steps.meta.outputs.tags }}' >> "$GITHUB_STEP_SUMMARY"