build api #27
This file contains hidden or 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
| # SPDX-License-Identifier: AGPL-3.0-or-later | |
| name: build api | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| build-version: | |
| description: "Explicit Fluxer CalVer build version (YYYY.MDD.MICRO, UTC HHMMSS without leading zeroes) to use instead of automatic UTC clock allocation" | |
| type: string | |
| required: false | |
| default: "" | |
| finalise-release: | |
| description: "Publish the GitHub Release after this workflow completes. Set false when an orchestrator will finalise the release." | |
| type: boolean | |
| required: false | |
| default: true | |
| workflow_call: | |
| inputs: | |
| build-version: | |
| description: "Explicit Fluxer CalVer build version (YYYY.MDD.MICRO, UTC HHMMSS without leading zeroes) to use instead of automatic UTC clock allocation" | |
| type: string | |
| required: false | |
| default: "" | |
| finalise-release: | |
| description: "Publish the GitHub Release after this workflow completes. Set false when an orchestrator will finalise the release." | |
| type: boolean | |
| required: false | |
| default: true | |
| approval-required: | |
| description: "Require the protected builds environment approval before this build runs." | |
| type: boolean | |
| required: false | |
| default: true | |
| permissions: | |
| actions: read | |
| contents: write | |
| packages: write | |
| jobs: | |
| approve: | |
| name: approve build release | |
| if: ${{ format('{0}', inputs['approval-required']) != 'false' }} | |
| runs-on: ubuntu-24.04 | |
| environment: builds | |
| timeout-minutes: 5 | |
| steps: | |
| - name: approved | |
| run: echo "Build release approved." | |
| image: | |
| needs: approve | |
| if: ${{ !cancelled() && (needs.approve.result == 'success' || needs.approve.result == 'skipped') }} | |
| uses: ./.github/workflows/_build-image.yaml | |
| with: | |
| image: fluxer-api | |
| dockerfile: fluxer_api/Dockerfile | |
| build-version: ${{ inputs['build-version'] }} | |
| finalise-release: ${{ inputs['finalise-release'] != false }} | |
| secrets: inherit |