Allow for more granular sort in lists #680
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: workflows starter | |
# env: is empty, see setup-env and the outputs there | |
on: | |
push: {} | |
workflow_dispatch: {} | |
jobs: | |
setup_workflow_env: | |
runs-on: ubuntu-latest | |
# Optionally specify the environment that should be used on this branch | |
# environment: review/dev | |
outputs: | |
# It seems you have to specify the environment twice (passed to reusable workflow) | |
# as there is no way yet to get the active environment | |
# environment: review/dev | |
# or see the switch on ref_name script below | |
environment: ${{ steps.get_environment_from_git_ref.outputs.environment }} | |
environment_short: ${{ steps.get_environment_from_git_ref.outputs.environment_short }} | |
image_name: nuxt-vicav | |
registry_root: ghcr.io/${{ github.repository }}/ | |
default_port: "3000" | |
fetch-depth: 10 | |
submodules: "false" | |
APP_NAME: nuxt-vicav | |
# This together with the branch name is also used as the namespace to deploy to | |
APP_ROOT: "/" | |
herokuish_base_image: ghcr.io/acdh-oeaw/herokuish-for-cypress/main:latest-22 | |
# You should not need to have to change anything below this line | |
#----------------------------------------------------------------------------------------------------- | |
steps: | |
- name: Get environment from git ref | |
id: get_environment_from_git_ref | |
run: | | |
echo "Running on branch ${{ github.ref_name }}" | |
if [ "${{ github.ref }}" = "refs/heads/main" ]; then | |
echo "environment=production" | |
echo "environment=production" >> $GITHUB_OUTPUT | |
echo "environment_short=prod" >> $GITHUB_OUTPUT | |
elif [ "${{ github.ref_name }}" = "tunocent" ]; then | |
echo "environment=tuncoent" | |
echo "environment=tunocent" >> $GITHUB_OUTPUT | |
echo "environment_short=tunocent" >> $GITHUB_OUTPUT | |
else | |
echo "environment=review/${{ github.ref_name }}" | |
echo "environment=review/${{ github.ref_name }}" >> $GITHUB_OUTPUT | |
echo "environment_short=$(echo -n ${{ github.ref_name }} | sed 's/feat\(ure\)\{0,1\}[_/]//' | tr '_' '-' | tr '[:upper:]' '[:lower:]' | cut -c -63 )" >> $GITHUB_OUTPUT | |
fi | |
generate_workflow_vars: | |
needs: [setup_workflow_env] | |
environment: | |
name: ${{ needs.setup_workflow_env.outputs.environment }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Generate PUBLIC_URL if not set | |
id: generate_public_url | |
run: | | |
kube_ingress_base_domain="${{ vars.KUBE_INGRESS_BASE_DOMAIN }}" | |
public_url="${{ needs.setup_workflow_env.outputs.PUBLIC_URL || vars.PUBLIC_URL }}" | |
if [ "${public_url}x" == 'x' ] | |
then public_url=https://${{ needs.setup_workflow_env.outputs.environment_short }}.${kube_ingress_base_domain} | |
fi | |
echo "public_url=$public_url" >> $GITHUB_OUTPUT | |
outputs: | |
environment: ${{ needs.setup_workflow_env.outputs.environment }} | |
environment_short: ${{ needs.setup_workflow_env.outputs.environment_short }} | |
PUBLIC_URL: ${{ steps.generate_public_url.outputs.public_url }} | |
APP_NAME: ${{ needs.setup_workflow_env.outputs.APP_NAME }} | |
generate_workflow_vars_shawi: | |
needs: [setup_workflow_env] | |
environment: | |
name: ${{ needs.setup_workflow_env.outputs.environment }}-shawi | |
runs-on: ubuntu-latest | |
steps: | |
- name: Generate PUBLIC_URL if not set | |
id: generate_public_url | |
run: | | |
kube_ingress_base_domain="${{ vars.KUBE_INGRESS_BASE_DOMAIN }}" | |
public_url="${{ needs.setup_workflow_env.outputs.PUBLIC_URL || vars.PUBLIC_URL }}" | |
if [ "${public_url}x" == 'x' ] | |
then public_url=https://shawi-${{ needs.setup_workflow_env.outputs.environment_short }}.${kube_ingress_base_domain} | |
fi | |
echo "public_url=$public_url" >> $GITHUB_OUTPUT | |
outputs: | |
environment: ${{ needs.setup_workflow_env.outputs.environment }}-shawi | |
environment_short: shawi-${{ needs.setup_workflow_env.outputs.environment_short }} | |
PUBLIC_URL: ${{ steps.generate_public_url.outputs.public_url }} | |
APP_NAME: ${{ needs.setup_workflow_env.outputs.APP_NAME }} | |
generate_workflow_vars_tunocent: | |
needs: [setup_workflow_env] | |
environment: | |
name: ${{ needs.setup_workflow_env.outputs.environment }}-tunocent | |
runs-on: ubuntu-latest | |
steps: | |
- name: Generate PUBLIC_URL if not set | |
id: generate_public_url | |
run: | | |
kube_ingress_base_domain="${{ vars.KUBE_INGRESS_BASE_DOMAIN }}" | |
public_url="${{ needs.setup_workflow_env.outputs.PUBLIC_URL || vars.PUBLIC_URL }}" | |
if [ "${public_url}x" == 'x' ] | |
then public_url=https://tunocent-${{ needs.setup_workflow_env.outputs.environment_short }}.${kube_ingress_base_domain} | |
fi | |
echo "public_url=$public_url" >> $GITHUB_OUTPUT | |
outputs: | |
environment: ${{ needs.setup_workflow_env.outputs.environment }}-tunocent | |
environment_short: tunocent-${{ needs.setup_workflow_env.outputs.environment_short }} | |
PUBLIC_URL: ${{ steps.generate_public_url.outputs.public_url }} | |
APP_NAME: ${{ needs.setup_workflow_env.outputs.APP_NAME }} | |
generate_workflow_vars_wibarab: | |
needs: [setup_workflow_env] | |
environment: | |
name: ${{ needs.setup_workflow_env.outputs.environment }}-wibarab | |
runs-on: ubuntu-latest | |
steps: | |
- name: Generate PUBLIC_URL if not set | |
id: generate_public_url | |
run: | | |
kube_ingress_base_domain="${{ vars.KUBE_INGRESS_BASE_DOMAIN }}" | |
public_url="${{ needs.setup_workflow_env.outputs.PUBLIC_URL || vars.PUBLIC_URL }}" | |
if [ "${public_url}x" == 'x' ] | |
then public_url=https://wibarab-${{ needs.setup_workflow_env.outputs.environment_short }}.${kube_ingress_base_domain} | |
fi | |
echo "public_url=$public_url" >> $GITHUB_OUTPUT | |
outputs: | |
environment: ${{ needs.setup_workflow_env.outputs.environment }}-wibarab | |
environment_short: wibarab-${{ needs.setup_workflow_env.outputs.environment_short }} | |
PUBLIC_URL: ${{ steps.generate_public_url.outputs.public_url }} | |
APP_NAME: ${{ needs.setup_workflow_env.outputs.APP_NAME }} | |
_1: | |
needs: | |
[ | |
setup_workflow_env, | |
generate_workflow_vars, | |
generate_workflow_vars_wibarab, | |
generate_workflow_vars_tunocent, | |
generate_workflow_vars_shawi, | |
] | |
uses: acdh-oeaw/gl-autodevops-minimal-port/.github/workflows/build-herokuish-and-push-to-registry.yaml@main | |
secrets: inherit | |
# if you run this outside of of an org that provides KUBE_CONFIG etc as a secret, you need to specify every secret you want to pass by name | |
with: | |
environment: ${{ needs.generate_workflow_vars.outputs.environment }} | |
registry_root: ${{ needs.setup_workflow_env.outputs.registry_root }} | |
image_name: ${{ needs.setup_workflow_env.outputs.image_name }} | |
default_port: ${{ needs.setup_workflow_env.outputs.default_port }} | |
PUBLIC_URL: ${{ needs.generate_workflow_vars.outputs.PUBLIC_URL }} | |
fetch-depth: ${{ fromJson(needs.setup_workflow_env.outputs.fetch-depth) }} | |
submodules: ${{ needs.setup_workflow_env.outputs.submodules }} | |
_2: | |
needs: [setup_workflow_env, generate_workflow_vars] | |
uses: acdh-oeaw/gl-autodevops-minimal-port/.github/workflows/herokuish-tests-db-url.yaml@main | |
secrets: inherit | |
# if you run this outside of acdh-oeaw yo uneed to specify every secret you want to pass by name | |
with: | |
environment: ${{ needs.setup_workflow_env.outputs.environment}} | |
registry_root: ${{ needs.setup_workflow_env.outputs.registry_root }} | |
image_name: ${{ needs.setup_workflow_env.outputs.image_name }} | |
default_port: ${{ needs.setup_workflow_env.outputs.default_port }} | |
fetch-depth: ${{ fromJson(needs.setup_workflow_env.outputs.fetch-depth) }} | |
herokuish_base_image: ${{ needs.setup_workflow_env.outputs.herokuish_base_image }} | |
PUBLIC_URL: ${{ needs.generate_workflow_vars.outputs.PUBLIC_URL }} | |
submodules: ${{ needs.setup_workflow_env.outputs.submodules }} | |
_3: | |
needs: [setup_workflow_env, generate_workflow_vars, _1, _2] | |
uses: acdh-oeaw/gl-autodevops-minimal-port/.github/workflows/deploy.yml@main | |
secrets: inherit | |
with: | |
environment: ${{ needs.generate_workflow_vars.outputs.environment}} | |
fetch-depth: ${{ fromJson(needs.setup_workflow_env.outputs.fetch-depth) }} | |
DOCKER_TAG: | |
${{ needs.setup_workflow_env.outputs.registry_root }}${{ | |
needs.setup_workflow_env.outputs.image_name }} | |
APP_NAME: | |
${{ needs.generate_workflow_vars.outputs.APP_NAME }}-${{ | |
needs.generate_workflow_vars.outputs.environment_short }} | |
APP_ROOT: ${{ needs.setup_workflow_env.outputs.APP_ROOT }} | |
PUBLIC_URL: ${{ needs.generate_workflow_vars.outputs.PUBLIC_URL }} | |
do_not_generate_additional_host_names: "true" | |
POSTGRES_ENABLED: ${{ needs.setup_workflow_env.outputs.POSTGRES_ENABLED == 'true'}} | |
default_port: "${{ needs.setup_workflow_env.outputs.default_port}}" | |
submodules: ${{ needs.setup_workflow_env.outputs.submodules }} | |
_3-shawi: | |
needs: [setup_workflow_env, generate_workflow_vars_shawi, _1, _2] | |
uses: acdh-oeaw/gl-autodevops-minimal-port/.github/workflows/deploy.yml@main | |
secrets: inherit | |
with: | |
environment: ${{ needs.generate_workflow_vars_shawi.outputs.environment}} | |
fetch-depth: ${{ fromJson(needs.setup_workflow_env.outputs.fetch-depth) }} | |
DOCKER_TAG: | |
${{ needs.setup_workflow_env.outputs.registry_root }}${{ | |
needs.setup_workflow_env.outputs.image_name }} | |
APP_NAME: | |
${{ needs.generate_workflow_vars_shawi.outputs.APP_NAME }}-${{ | |
needs.generate_workflow_vars_shawi.outputs.environment_short }} | |
APP_ROOT: ${{ needs.setup_workflow_env.outputs.APP_ROOT }} | |
PUBLIC_URL: ${{ needs.generate_workflow_vars_shawi.outputs.PUBLIC_URL }} | |
do_not_generate_additional_host_names: "true" | |
POSTGRES_ENABLED: ${{ needs.setup_workflow_env.outputs.POSTGRES_ENABLED == 'true'}} | |
default_port: "${{ needs.setup_workflow_env.outputs.default_port}}" | |
submodules: ${{ needs.setup_workflow_env.outputs.submodules }} | |
_3-tunocent: | |
needs: [setup_workflow_env, generate_workflow_vars_tunocent, _1, _2] | |
uses: acdh-oeaw/gl-autodevops-minimal-port/.github/workflows/deploy.yml@main | |
secrets: inherit | |
with: | |
environment: ${{ needs.generate_workflow_vars_tunocent.outputs.environment}} | |
fetch-depth: ${{ fromJson(needs.setup_workflow_env.outputs.fetch-depth) }} | |
DOCKER_TAG: | |
${{ needs.setup_workflow_env.outputs.registry_root }}${{ | |
needs.setup_workflow_env.outputs.image_name }} | |
APP_NAME: | |
${{ needs.generate_workflow_vars_tunocent.outputs.APP_NAME }}-${{ | |
needs.generate_workflow_vars_tunocent.outputs.environment_short }} | |
APP_ROOT: ${{ needs.setup_workflow_env.outputs.APP_ROOT }} | |
PUBLIC_URL: ${{ needs.generate_workflow_vars_tunocent.outputs.PUBLIC_URL }} | |
do_not_generate_additional_host_names: "true" | |
POSTGRES_ENABLED: ${{ needs.setup_workflow_env.outputs.POSTGRES_ENABLED == 'true'}} | |
default_port: "${{ needs.setup_workflow_env.outputs.default_port}}" | |
submodules: ${{ needs.setup_workflow_env.outputs.submodules }} | |
_3-wibarab: | |
needs: [setup_workflow_env, generate_workflow_vars_wibarab, _1, _2] | |
uses: acdh-oeaw/gl-autodevops-minimal-port/.github/workflows/deploy.yml@main | |
secrets: inherit | |
with: | |
environment: ${{ needs.generate_workflow_vars_wibarab.outputs.environment}} | |
fetch-depth: ${{ fromJson(needs.setup_workflow_env.outputs.fetch-depth) }} | |
DOCKER_TAG: | |
${{ needs.setup_workflow_env.outputs.registry_root }}${{ | |
needs.setup_workflow_env.outputs.image_name }} | |
APP_NAME: | |
${{ needs.generate_workflow_vars_wibarab.outputs.APP_NAME }}-${{ | |
needs.generate_workflow_vars_wibarab.outputs.environment_short }} | |
APP_ROOT: ${{ needs.setup_workflow_env.outputs.APP_ROOT }} | |
PUBLIC_URL: ${{ needs.generate_workflow_vars_wibarab.outputs.PUBLIC_URL }} | |
do_not_generate_additional_host_names: "true" | |
POSTGRES_ENABLED: ${{ needs.setup_workflow_env.outputs.POSTGRES_ENABLED == 'true'}} | |
default_port: "${{ needs.setup_workflow_env.outputs.default_port}}" | |
submodules: ${{ needs.setup_workflow_env.outputs.submodules }} |