Promote package repositories #1140
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: Promote package repositories | |
on: | |
workflow_dispatch: | |
inputs: | |
filter: | |
description: Space-separated list of regular expressions matching short_name of repositories to promote | |
type: string | |
required: false | |
default: "" | |
kayobe_config_branch: | |
required: false | |
description: Branch of StackHPC Kayobe configuration to use | |
default: stackhpc/2023.1 | |
check_mode: | |
description: Check mode | |
type: boolean | |
required: false | |
default: false | |
env: | |
ANSIBLE_FORCE_COLOR: True | |
ANSIBLE_VAULT_PASSWORD_FILE: ${{ github.workspace }}/vault-pass | |
jobs: | |
package-promote: | |
name: Promote package repositories | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Release Train & dependencies | |
uses: ./.github/actions/setup | |
with: | |
vault-password: ${{ secrets.ANSIBLE_VAULT_PASSWORD }} | |
vault-password-file: ${{ env.ANSIBLE_VAULT_PASSWORD_FILE }} | |
- name: Clone StackHPC Kayobe configuration repository | |
uses: actions/checkout@v4 | |
with: | |
repository: stackhpc/stackhpc-kayobe-config | |
ref: refs/heads/${{ github.event.inputs.kayobe_config_branch }} | |
path: stackhpc-kayobe-config | |
- name: Promote package repositories in Ark to release | |
run: | | |
args="" | |
if [[ $CHECK_MODE = true ]]; then | |
args="$args --check --diff" | |
fi | |
ansible-playbook -i ansible/inventory \ | |
ansible/dev-pulp-repo-version-query-kayobe.yml \ | |
ansible/dev-pulp-repo-promote.yml \ | |
-e deb_package_repo_filter="'$FILTER'" \ | |
-e rpm_package_repo_filter="'$FILTER'" \ | |
-e kayobe_config_repo_path=./stackhpc-kayobe-config/ \ | |
$args | |
env: | |
FILTER: ${{ github.event.inputs.filter }} | |
CHECK_MODE: ${{ inputs.check_mode }} | |
- name: Send message to Slack via Workflow Builder | |
uses: ./.github/actions/slack-alert | |
with: | |
inputs: >- | |
filter: ${{ inputs.filter }}\n | |
kayobe_config_branch: ${{ inputs.kayobe_config_branch }}\n | |
check_mode: ${{ inputs.check_mode }}\n | |
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }} | |
slack-channel-id: ${{ vars.SLACK_CHANNEL_ID }} | |
if: failure() |