Skip to content

Continuous Packing #263

Continuous Packing

Continuous Packing #263

name: Continuous Packing
on:
workflow_run:
workflows: Continuous Building
types: completed
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
actions: read
contents: read
env:
CICD_PROJECT_ACRONYM: QLDSK
CICD_PROJECT_FULL_NAME: Quake Level Design Starter Kit
CICD_PROJECT_SLUG: quake-leveldesign-starterkit
jobs:
run-on-workflow-success:
name: Check the previous workflow status
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- name: Checkout the local repository files
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
fetch-depth: 1
- name: Check the previous workflow status
uses: ./.github/actions/_shared/check-previous-workflow-status
create-release-notes:
name: Create the release notes
needs: run-on-workflow-success
runs-on: ubuntu-22.04
timeout-minutes: 30
steps:
- name: Checkout the local repository files
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
fetch-depth: 1
- name: Set the current date
uses: ./.github/actions/_shared/set-current-date
- name: "Metadata: Download and unpack the artifact"
uses: ./.github/actions/continuous-packing/download-unpack-artifact/metadata
with:
ARTIFACT_FILENAME: metadata
CICD_PROJECT_ACRONYM: ${{ env.CICD_PROJECT_ACRONYM }}
CICD_PROJECT_FULL_NAME: ${{ env.CICD_PROJECT_FULL_NAME }}
CICD_PROJECT_SLUG: ${{ env.CICD_PROJECT_SLUG }}
CICD_WORKFLOW: continuous-building.yml
LIST_METADATA_FILES: trenchbroom,ericw-tools,ironwail,quake-cli-tools,goldutil,extras
- name: Pack and upload the artifact
uses: ./.github/actions/_shared/pack-upload-artifact
with:
ARTIFACT_FILENAME: ${{ env.CICD_PROJECT_SLUG }}-release-notes-${{ env.CICD_CURRENT_DATE }}
ARTIFACT_PATH: ${{ env.CICD_PROJECT_SLUG }}-release-notes/
pack-binaries:
name: Pack the binaries
needs: run-on-workflow-success
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-2022]
steps:
- name: Checkout the local repository files
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
fetch-depth: 1
- name: Set the current date
uses: ./.github/actions/_shared/set-current-date
- name: Set the operating system name
uses: ./.github/actions/_shared/set-operating-system-name
with:
MATRIX_OS: ${{ matrix.os }}
- name: "TrenchBroom: Download and unpack the artifact"
uses: ./.github/actions/continuous-packing/download-unpack-artifact/files
with:
ARTIFACT_DESTINATION_PATH: level-editor/
ARTIFACT_FILENAME: trenchbroom
CICD_OPERATING_SYSTEM_NAME: ${{ env.CICD_OPERATING_SYSTEM_NAME }}
CICD_PROJECT_SLUG: ${{ env.CICD_PROJECT_SLUG }}
CICD_WORKFLOW: continuous-building.yml
- name: "ericw-tools: Download and unpack the artifact"
uses: ./.github/actions/continuous-packing/download-unpack-artifact/files
with:
ARTIFACT_DESTINATION_PATH: level-compiler/
ARTIFACT_FILENAME: ericw-tools
CICD_OPERATING_SYSTEM_NAME: ${{ env.CICD_OPERATING_SYSTEM_NAME }}
CICD_PROJECT_SLUG: ${{ env.CICD_PROJECT_SLUG }}
CICD_WORKFLOW: continuous-building.yml
- name: "Ironwail: Download and unpack the artifact"
uses: ./.github/actions/continuous-packing/download-unpack-artifact/files
with:
ARTIFACT_DESTINATION_PATH: tools/ironwail/
ARTIFACT_FILENAME: ironwail
CICD_OPERATING_SYSTEM_NAME: ${{ env.CICD_OPERATING_SYSTEM_NAME }}
CICD_PROJECT_SLUG: ${{ env.CICD_PROJECT_SLUG }}
CICD_WORKFLOW: continuous-building.yml
- name: "Quake CLI Tools: Download and unpack the artifact"
uses: ./.github/actions/continuous-packing/download-unpack-artifact/files
with:
ARTIFACT_DESTINATION_PATH: tools/quake-cli-tools/
ARTIFACT_FILENAME: quake-cli-tools
CICD_OPERATING_SYSTEM_NAME: ${{ env.CICD_OPERATING_SYSTEM_NAME }}
CICD_PROJECT_SLUG: ${{ env.CICD_PROJECT_SLUG }}
CICD_WORKFLOW: continuous-building.yml
- name: "goldutil: Download and unpack the artifact"
uses: ./.github/actions/continuous-packing/download-unpack-artifact/files
with:
ARTIFACT_DESTINATION_PATH: tools/goldutil/
ARTIFACT_FILENAME: goldutil
CICD_OPERATING_SYSTEM_NAME: ${{ env.CICD_OPERATING_SYSTEM_NAME }}
CICD_PROJECT_SLUG: ${{ env.CICD_PROJECT_SLUG }}
CICD_WORKFLOW: continuous-building.yml
- name: "Extras: Download and unpack the artifact"
uses: ./.github/actions/continuous-packing/download-unpack-artifact/files
with:
ARTIFACT_DESTINATION_PATH: extras
ARTIFACT_FILENAME: extras
CICD_OPERATING_SYSTEM_NAME: ${{ env.CICD_OPERATING_SYSTEM_NAME }}
CICD_PROJECT_SLUG: ${{ env.CICD_PROJECT_SLUG }}
CICD_WORKFLOW: continuous-building.yml
- name: Copy the local Markdown and LICENSE files
run: |
set -euo pipefail
cp *.md LICENSE "${{ env.CICD_PROJECT_SLUG }}-${{ env.CICD_OPERATING_SYSTEM_NAME }}/"
shell: bash
- name: Pack and upload the artifact
uses: ./.github/actions/_shared/pack-upload-artifact
with:
ARTIFACT_FILENAME: ${{ env.CICD_PROJECT_SLUG }}-${{ env.CICD_CURRENT_DATE }}-${{ env.CICD_OPERATING_SYSTEM_NAME }}
ARTIFACT_PATH: ${{ env.CICD_PROJECT_SLUG }}-${{ env.CICD_OPERATING_SYSTEM_NAME }}/