Releases: clearlydefined/operations
v3.2.0
v3.1.2
What's Changed
Bug Fixes
- Fix integration tests by @qtomlinson in #106
- set value to return as docker-image-name-with-tag by @elrayle in #107
Full Changelog: v3.1.1...v3.1.2
v3.1.1
What's Changed
- Bump workflow versions to 3.1.1 by @ljones140 in #104
Full Changelog: v3.1.0...v3.1.1
v3.1.0
Release Highlights
Release tag: v3.1.0
Deploy image to docker optionally, as well as GHCR by @ljones140 in #97
To migrate deployment of Production Crawler to CD Azure from Microsoft owned Azure.
Changes to workflow app-build-and-deploy
Enables the optional docker image publish to Docker Hub, conditional on providing
- Input docker-hub-username
- secret DOCKERHUB_TOKEN
Without these the action only deploys to ghcr
Example of what prod crawler workflow will look like
name: Build and Deploy -- PROD
on:
workflow_dispatch:
release:
types: [published]
jobs:
upload-package-lock-json:
name: Upload package-lock.json from this repo
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Upload package-lock.json
uses: actions/upload-artifact@v4
with:
name: package-lock.json
path: package-lock.json
build-and-deploy-prod:
needs: upload-package-lock-json
uses: clearlydefined/operations/.github/workflows/[email protected]
secrets:
AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }}
AZURE_WEBAPP_PUBLISH_PROFILE: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE_PROD }}
DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
PRODUCTION_DEPLOYERS: ${{ secrets.PRODUCTION_DEPLOYERS }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
with:
deploy-env: prod
application-type: worker
azure-app-base-name: cdcrawler
azure-app-name-postfix: -prod
docker-hub-username: ${{ vars.DOCKERHUB_USERNAME }}
v3.0.0
Release Highlights
Release tag: v3.0.0
Workflow: .github/workflows/app-deploy-to-azure.yml
APP_VERSION
& BUILD_SHA
env vars are now injected into docker build.
Previously they were being sent to the App Service settings in a separate step before deployment. Problem with this is that if deployment fails the env vars will be persisted on the service giving the wrong information.
v2.0.0
Release Highlights
Release tag: v2.0.0
Many of the steps in the reusable deploy workflows used a bash script to perform the step. Some include decision points and errors. The complexity of these scripts warranted the creation of tests to confirm they are operating as expected.
This release moves the primary logic in scripts out of the workflow and into a script file. Tests were created to test various conditions each script is expected to handle. This should improve long term maintenance of the reusable workflows.
Required Updates
get-version job
The get-version script did not have access to the package-lock.json file. This file must be uploaded before using the operations app-build-and-deploy workflow.
In callers…
In the workflow that uses clearlydefined/operations/.github/workflows/[email protected]
, upload the package-lock.json file.
upload-package-lock-json:
name: Upload package-lock.json from this repo
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Upload package-lock.json
uses: actions/upload-artifact@v4
with:
name: package-lock.json
path: package-lock.json
Additionally, the step that uses clearlydefined/operations/.github/workflows/[email protected]
should identify that it needs the upload step.
build-and-deploy:
name: Build and Deploy
needs: upload-package-lock-json
uses: clearlydefined/operations/.github/workflows/[email protected]
...
Changes
v1.1.0
Release Highlights
Release tag: v1.1.0
This moves the check for is-release
to the app-build-and-deploy
workflow in the determine-trigger
job. This removes the need to perform this check in all callers of the workflow.
Required Updates
In callers...
- remove the
is-release
parameter from the call toapp-build-and-deploy
- update the version of the
uses
statement forapp-build-and-deploy
to@v1.1.0
Changes
v1.0.0
Release Highlights
Release tag: v1.0.0
This is release coordinates the app-build-and-deploy
set of reusable workflows. To use these workflows...
jobs:
build-and-deploy:
uses: clearlydefined/operations/.github/workflows/[email protected]
See app-build-and-deploy.yml workflow for list of secrets and inputs that are required.