Skip to content

ci: Delete .github/workflows/project.yaml #64

ci: Delete .github/workflows/project.yaml

ci: Delete .github/workflows/project.yaml #64

Workflow file for this run

name: Release
on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
jobs:
######################################################################################################################
# Pre-Tasks
######################################################################################################################
slack:
# Open a new PR thread on Slack for this CI run
uses: SwanseaUniversityMedical/workflows/.github/workflows/[email protected]
with:
slack-channel: ${{ vars.SLACK_CHANNEL }}
secrets:
slack-token: ${{ secrets.SLACK_TOKEN }}
changes:
# Detect which files have been changed on this PR's full history
needs: slack
uses: SwanseaUniversityMedical/workflows/.github/workflows/[email protected]
with:
slack-channel: ${{ vars.SLACK_CHANNEL }}
slack-thread: ${{ needs.slack.outputs.thread }}
github-app-id: ${{ vars.APP_ID }}
filters: |
trino-container:
- './.github/workflows/release.yaml'
- 'containers/trino/**'
- 'plugins/**'
chart:
- './.github/workflows/release.yaml'
- 'charts/**'
secrets:
slack-token: ${{ secrets.SLACK_TOKEN }}
github-app-private-key: ${{ secrets.APP_PRIVATE_KEY }}
######################################################################################################################
# Container Tasks
######################################################################################################################
trino-container:
# Build the DARE api container and push it as :rc-1.0.0
needs:
- slack
- changes
if: fromJSON(needs.changes.outputs.changes).trino-container == 'true'
uses: SwanseaUniversityMedical/workflows/.github/workflows/[email protected]
with:
job-name: trino-container
container-registry: ${{ vars.HARBOR_REGISTRY }}
github-app-id: ${{ vars.APP_ID }}
container-registry-user: ${{ vars.HARBOR_USER }}
container-registry-project: ${{ vars.HARBOR_PROJECT }}
container-registry-repo: ${{ vars.HARBOR_REPO }}
release-tag-format: 'DARE-Trino-Container-${version}'
slack-channel: ${{ vars.SLACK_CHANNEL }}
slack-thread: ${{ needs.slack.outputs.thread }}
build-command: |
docker build -t $IMAGE -f containers/trino/Dockerfile .
secrets:
container-registry-token: ${{ secrets.HARBOR_TOKEN }}
slack-token: ${{ secrets.SLACK_TOKEN }}
github-app-private-key: ${{ secrets.APP_PRIVATE_KEY }}
######################################################################################################################
# Chart Tasks
######################################################################################################################
chart:
# Build the chart and push it as x.y.z-rc
needs:
- slack
- changes
if: fromJSON(needs.changes.outputs.changes).chart == 'true'
uses: SwanseaUniversityMedical/workflows/.github/workflows/[email protected]
with:
job-name: chart
chart-registry: ${{ vars.HARBOR_REGISTRY }}
chart-registry-user: ${{ vars.HARBOR_USER }}
chart-registry-project: ${{ vars.HARBOR_PROJECT }}
chart-registry-repo: ${{ vars.HARBOR_REPO }}
release-tag-format: 'DARE-Trino-Helm-${version}'
github-app-id: ${{ vars.APP_ID }}
slack-channel: ${{ vars.SLACK_CHANNEL }}
slack-thread: ${{ needs.slack.outputs.thread }}
chart: charts/**
test-command: |
helm template $CHART --values charts/trino/values.yaml
secrets:
chart-registry-token: ${{ secrets.HARBOR_TOKEN }}
github-app-private-key: ${{ secrets.APP_PRIVATE_KEY }}
slack-token: ${{ secrets.SLACK_TOKEN }}
######################################################################################################################
# Post-Tasks
######################################################################################################################
slack-update:
# Update the original Slack message with the final workflow status
# WARNING! ALL UPSTREAM JOBS MUST BE DECLARED HERE TO REPORT FAILURES CORRECTLY!
needs:
- slack
- changes
- trino-container
- chart
uses: SwanseaUniversityMedical/workflows/.github/workflows/[email protected]
if: always()
with:
slack-channel: ${{ vars.SLACK_CHANNEL }}
slack-thread: ${{ needs.slack.outputs.thread }}
status: ${{ contains(join(needs.*.result, ','), 'failure') && ':no_entry:' || ':white_check_mark:' }}
secrets:
slack-token: ${{ secrets.SLACK_TOKEN }}