expand on job names #189
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
# Do not edit these workflows directly as the changes made will be overwritten. | ||
# Instead, edit the template '.github/workflows/templates/nightly.yml.jinja' | ||
--- | ||
name: Nightly | ||
run-name: "Nightly (branch: ${{ github.ref_name }})" | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
skip-salt-test-suite: | ||
type: boolean | ||
default: false | ||
description: Skip running the Salt test suite. | ||
skip-salt-pkg-test-suite: | ||
type: boolean | ||
default: false | ||
description: Skip running the Salt packages test suite. | ||
schedule: | ||
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onschedule | ||
- cron: '0 0 * * *' # Every day at 0AM | ||
env: | ||
COLUMNS: 190 | ||
CACHE_SEED: SEED-1 # Bump the number to invalidate all caches | ||
RELENV_DATA: "${{ github.workspace }}/.relenv" | ||
PIP_DISABLE_PIP_VERSION_CHECK: "1" | ||
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1" | ||
permissions: | ||
contents: read # for dorny/paths-filter to fetch a list of changed files | ||
pull-requests: read # for dorny/paths-filter to read pull requests | ||
actions: write # to trigger branch nightly builds | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.repository }}-${{ github.head_ref || github.run_id }} | ||
cancel-in-progress: false | ||
jobs: | ||
workflow-requirements: | ||
name: Check Workflow Requirements | ||
runs-on: ubuntu-latest | ||
outputs: | ||
requirements-met: ${{ steps.check-requirements.outputs.requirements-met }} | ||
steps: | ||
- name: Check Requirements | ||
id: check-requirements | ||
run: | | ||
if [ "${{ vars.RUN_SCHEDULED_BUILDS }}" = "1" ]; then | ||
MSG="Running workflow because RUN_SCHEDULED_BUILDS=1" | ||
echo "${MSG}" | ||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}" | ||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}" | ||
elif [ "${{ github.event.repository.fork }}" = "true" ]; then | ||
MSG="Not running workflow because ${{ github.repository }} is a fork" | ||
echo "${MSG}" | ||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}" | ||
echo "requirements-met=false" >> "${GITHUB_OUTPUT}" | ||
elif [ "${{ github.event.repository.private }}" = "true" ]; then | ||
MSG="Not running workflow because ${{ github.repository }} is a private repository" | ||
echo "${MSG}" | ||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}" | ||
echo "requirements-met=false" >> "${GITHUB_OUTPUT}" | ||
else | ||
MSG="Running workflow because ${{ github.repository }} is not a fork" | ||
echo "${MSG}" | ||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}" | ||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}" | ||
fi | ||
trigger-branch-nightly-builds: | ||
name: Trigger Branch Workflows | ||
if: ${{ github.event_name == 'schedule' && fromJSON(needs.workflow-requirements.outputs.requirements-met) }} | ||
runs-on: ubuntu-latest | ||
needs: | ||
- workflow-requirements | ||
steps: | ||
- name: Trigger 3006.x branch | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
gh workflow run nightly.yml --repo ${{ github.repository }} --ref 3006.x | ||
prepare-workflow: | ||
name: Prepare Workflow Run | ||
runs-on: ubuntu-latest | ||
if: ${{ fromJSON(needs.workflow-requirements.outputs.requirements-met) }} | ||
needs: | ||
- workflow-requirements | ||
outputs: | ||
jobs: ${{ steps.define-jobs.outputs.jobs }} | ||
changed-files: ${{ steps.process-changed-files.outputs.changed-files }} | ||
os-labels: ${{ steps.get-pull-labels.outputs.os-labels }} | ||
pull-labels: ${{ steps.get-pull-labels.outputs.test-labels }} | ||
testrun: ${{ steps.define-testrun.outputs.testrun }} | ||
salt-version: ${{ steps.setup-salt-version.outputs.salt-version }} | ||
cache-seed: ${{ steps.set-cache-seed.outputs.cache-seed }} | ||
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }} | ||
releases: ${{ steps.get-salt-releases.outputs.releases }} | ||
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }} | ||
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # Full clone to also get the tags to get the right salt version | ||
- name: Get Changed Files | ||
if: ${{ github.event_name == 'pull_request'}} | ||
id: changed-files | ||
uses: dorny/paths-filter@v3 | ||
with: | ||
token: ${{ github.token }} | ||
list-files: json | ||
filters: | | ||
repo: | ||
- added|modified: | ||
- '**' | ||
doc-requirements: | ||
- added|modified: &doc_requirements | ||
- requirements/static/ci/py3.*/docs.txt | ||
lint-requirements: | ||
- added|modified: &lint_requirements | ||
- requirements/static/ci/py3.*/lint.txt | ||
pkg_requirements: | ||
- added|modified: &pkg_requirements | ||
- requirements/static/pkg/py3.*/darwin.txt | ||
- requirements/static/pkg/py3.*/linux.txt | ||
- requirements/static/pkg/py3.*/freebsd.txt | ||
- requirements/static/pkg/py3.*/windows.txt | ||
test_requirements: | ||
- added|modified: &test_requirements | ||
- requirements/static/ci/py3.*/darwin.txt | ||
- requirements/static/ci/py3.*/linux.txt | ||
- requirements/static/ci/py3.*/freebsd.txt | ||
- requirements/static/ci/py3.*/windows.txt | ||
- requirements/static/ci/py3.*/darwin-crypto.txt | ||
- requirements/static/ci/py3.*/linux-crypto.txt | ||
- requirements/static/ci/py3.*/freebsd-crypto.txt | ||
- requirements/static/ci/py3.*/windows-crypto.txt | ||
deleted: | ||
- deleted: | ||
- '**' | ||
docs: | ||
- added|modified: | ||
- doc/** | ||
- .github/workflows/build-docs.yml | ||
- *doc_requirements | ||
workflows: | ||
- added|modified: | ||
- cicd/shared-gh-workflows-context.yml | ||
- .github/actions/**/action.yml | ||
- .github/workflows/*.yml | ||
- .github/workflows/templates/*.yml.jinja2 | ||
- tools/precommit/workflows.py | ||
salt: | ||
- added|modified: &salt_added_modified | ||
- setup.py | ||
- noxfile.py | ||
- salt/**/*.py | ||
- tasks/**/*.py | ||
- tools/**/*.py | ||
tests: | ||
- added|modified: &tests_added_modified | ||
- tests/**/*.py | ||
lint: | ||
- added|modified: | ||
- .pylintrc | ||
- *lint_requirements | ||
golden_images: | ||
- added|modified: | ||
- cicd/golden-images.json | ||
pkg_tests: | ||
- added|modified: &pkg_tests_added_modified | ||
- pkg/** | ||
- *pkg_requirements | ||
- *salt_added_modified | ||
nsis_tests: | ||
- added|modified: &nsis_tests | ||
- pkg/windows/nsis/** | ||
testrun: | ||
- added|modified: | ||
- *pkg_requirements | ||
- *test_requirements | ||
- *salt_added_modified | ||
- *tests_added_modified | ||
- *pkg_tests_added_modified | ||
- name: Set up Python 3.10 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.10" | ||
- name: Setup Python Tools Scripts | ||
uses: ./.github/actions/setup-python-tools-scripts | ||
with: | ||
cache-prefix: ${{ env.CACHE_SEED }} | ||
- name: Pretty Print The GH Actions Event | ||
run: | ||
tools ci print-gh-event | ||
- name: Set Cache Seed Output | ||
id: set-cache-seed | ||
run: | | ||
tools ci define-cache-seed ${{ env.CACHE_SEED }} | ||
- name: Setup Salt Version | ||
id: setup-salt-version | ||
uses: ./.github/actions/setup-salt-version | ||
with: | ||
salt-version: "" | ||
validate-version: true | ||
- name: Get Pull Request Test Labels | ||
id: get-pull-labels | ||
if: ${{ github.event_name == 'pull_request'}} | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
tools ci get-pr-test-labels --repository ${{ github.repository }} | ||
- name: Get Hash For Nox Tarball Cache | ||
id: nox-archive-hash | ||
run: | | ||
echo "nox-archive-hash=${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py', 'pkg/common/env-cleanup-rules.yml', '.github/workflows/build-deps-ci-action.yml') }}" | tee -a "$GITHUB_OUTPUT" | ||
- name: Write Changed Files To A Local File | ||
run: | ||
echo '${{ toJSON(steps.changed-files.outputs) }}' > changed-files.json | ||
- name: Check Local Changed Files Contents | ||
if: ${{ github.event_name == 'pull_request' }} | ||
run: | ||
cat changed-files.json | ||
- name: Process Changed Files | ||
id: process-changed-files | ||
run: | | ||
tools ci process-changed-files ${{ github.event_name }} changed-files.json | ||
- name: Check Collected Changed Files | ||
if: ${{ github.event_name == 'pull_request' }} | ||
run: | | ||
echo '${{ steps.process-changed-files.outputs.changed-files }}' | jq -C '.' | ||
- name: Define Jobs To Run | ||
id: define-jobs | ||
run: | | ||
tools ci define-jobs${{ inputs.skip-salt-test-suite && ' --skip-tests' || '' }}${{ inputs.skip-salt-pkg-test-suite && ' --skip-pkg-tests' || '' }} ${{ github.event_name }} changed-files.json | ||
- name: Get Salt Releases | ||
id: get-salt-releases | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
tools ci get-releases | ||
- name: Get Latest Salt Releases for Testing | ||
id: get-testing-releases | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }} | ||
- name: Define Testrun | ||
id: define-testrun | ||
run: | | ||
tools ci define-testrun ${{ github.event_name }} changed-files.json | ||
- name: Check Contents of generated testrun-changed-files.txt | ||
if: ${{ fromJSON(steps.define-testrun.outputs.testrun)['type'] != 'full' }} | ||
run: | | ||
cat testrun-changed-files.txt || true | ||
- name: Upload testrun-changed-files.txt | ||
if: ${{ fromJSON(steps.define-testrun.outputs.testrun)['type'] != 'full' }} | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: testrun-changed-files.txt | ||
path: testrun-changed-files.txt | ||
pre-commit: | ||
name: Pre-Commit | ||
uses: ./.github/workflows/pre-commit-action.yml | ||
needs: | ||
- prepare-workflow | ||
with: | ||
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }} | ||
pre-commit-version: "3.0.4" | ||
lint: | ||
name: Lint | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['lint'] }} | ||
uses: ./.github/workflows/lint-action.yml | ||
needs: | ||
- prepare-workflow | ||
with: | ||
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }} | ||
nsis-tests: | ||
name: NSIS Tests | ||
uses: ./.github/workflows/nsis-tests.yml | ||
needs: | ||
- prepare-workflow | ||
with: | ||
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }} | ||
prepare-release: | ||
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}" | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['prepare-release'] }} | ||
runs-on: ubuntu-latest | ||
needs: | ||
- prepare-workflow | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python 3.10 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.10" | ||
- name: Setup Python Tools Scripts | ||
uses: ./.github/actions/setup-python-tools-scripts | ||
with: | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}-changelog | ||
- name: Setup Salt Version | ||
id: setup-salt-version | ||
uses: ./.github/actions/setup-salt-version | ||
with: | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
- name: Update Debian changelog | ||
shell: bash | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
run: | | ||
tools changelog update-deb --draft | ||
tools changelog update-deb | ||
- name: Update RPM changelog | ||
shell: bash | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
run: | | ||
tools changelog update-rpm --draft | ||
tools changelog update-rpm | ||
- name: Update Release Notes | ||
shell: bash | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
run: | | ||
if [ "${{ contains(fromJSON('["master"]'), github.ref_name) }}" == "true" ]; then | ||
tools changelog update-release-notes --draft --next-release | ||
tools changelog update-release-notes --next-release | ||
else | ||
tools changelog update-release-notes --draft | ||
tools changelog update-release-notes | ||
fi | ||
- name: Generate MAN Pages | ||
shell: bash | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
env: | ||
LATEST_RELEASE: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
SALT_ON_SALTSTACK: "1" | ||
run: | | ||
tools docs man | ||
- name: Update Changelog | ||
shell: bash | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
run: | | ||
tools changelog update-changelog-md --draft | ||
tools changelog update-changelog-md | ||
- name: Show Changes Diff | ||
shell: bash | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
run: | | ||
git diff --color | ||
- name: Configure Git | ||
shell: bash | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
run: | | ||
git config --global user.name "Salt Project Packaging" | ||
git config --global user.email [email protected] | ||
- name: Setup Pre-Commit | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
uses: ./.github/actions/setup-pre-commit | ||
with: | ||
version: "3.0.4" | ||
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
- name: Commit Changes | ||
shell: bash | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
env: | ||
SKIP: lint-salt,lint-tests | ||
PRE_COMMIT_COLOR: always | ||
run: | | ||
# Run it twice so that pre-commit can fix anything that can be automatically fixed. | ||
git commit -am "Release v${{ needs.prepare-workflow.outputs.salt-version }}" || \ | ||
git commit -am "Release v${{ needs.prepare-workflow.outputs.salt-version }}" | ||
- name: Create release changes patch | ||
shell: bash | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
run: | | ||
git format-patch --keep-subject --binary --stdout HEAD^ > salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch | ||
- name: Upload Changes Diff Artifact | ||
uses: actions/upload-artifact@v4 | ||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch | ||
path: salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch | ||
retention-days: 7 | ||
if-no-files-found: error | ||
build-docs: | ||
name: Documentation | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-docs'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-source-tarball | ||
uses: ./.github/workflows/build-docs.yml | ||
with: | ||
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
build-source-tarball: | ||
name: Build Source Tarball | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-source-tarball'] }} | ||
needs: | ||
- prepare-workflow | ||
- prepare-release | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python 3.10 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.10" | ||
- name: Setup Python Tools Scripts | ||
uses: ./.github/actions/setup-python-tools-scripts | ||
with: | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}-build | ||
- name: Setup Salt Version | ||
id: setup-salt-version | ||
uses: ./.github/actions/setup-salt-version | ||
with: | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
- name: Build Source Tarball | ||
uses: ./.github/actions/build-source-tarball | ||
with: | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
build-deps-onedir-linux: | ||
name: Build Onedir Dependencies | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-deps-onedir-linux'] }} | ||
needs: | ||
- prepare-workflow | ||
uses: ./.github/workflows/build-deps-onedir.yml | ||
with: | ||
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
kind: linux | ||
build-deps-onedir-macos: | ||
name: Build Onedir Dependencies | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-deps-onedir-macos'] }} | ||
needs: | ||
- prepare-workflow | ||
uses: ./.github/workflows/build-deps-onedir.yml | ||
with: | ||
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
kind: macos | ||
build-deps-onedir-windows: | ||
name: Build Onedir Dependencies | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-deps-onedir-windows'] }} | ||
needs: | ||
- prepare-workflow | ||
uses: ./.github/workflows/build-deps-onedir.yml | ||
with: | ||
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
kind: windows | ||
build-salt-onedir-linux: | ||
name: Build Salt Onedir | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-salt-onedir-linux'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-deps-onedir-linux | ||
- build-source-tarball | ||
uses: ./.github/workflows/build-salt-onedir.yml | ||
with: | ||
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
kind: linux | ||
build-salt-onedir-macos: | ||
name: Build Salt Onedir | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-salt-onedir-macos'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-deps-onedir-macos | ||
- build-source-tarball | ||
uses: ./.github/workflows/build-salt-onedir.yml | ||
with: | ||
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
kind: macos | ||
build-salt-onedir-windows: | ||
name: Build Salt Onedir | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-salt-onedir-windows'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-deps-onedir-windows | ||
- build-source-tarball | ||
uses: ./.github/workflows/build-salt-onedir.yml | ||
with: | ||
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
kind: windows | ||
build-pkgs-onedir-linux: | ||
name: Build Packages | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-salt-onedir-linux | ||
uses: ./.github/workflows/build-packages.yml | ||
with: | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
kind: linux | ||
source: "onedir" | ||
environment: nightly | ||
sign-macos-packages: false | ||
sign-windows-packages: false | ||
secrets: inherit | ||
build-pkgs-src-linux: | ||
name: Build Packages | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-salt-onedir-linux | ||
uses: ./.github/workflows/build-packages.yml | ||
with: | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
kind: linux | ||
source: "src" | ||
environment: nightly | ||
sign-macos-packages: false | ||
sign-windows-packages: false | ||
secrets: inherit | ||
build-pkgs-onedir-macos: | ||
name: Build Packages | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-salt-onedir-macos | ||
uses: ./.github/workflows/build-packages.yml | ||
with: | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
source: "onedir" | ||
kind: macos | ||
environment: nightly | ||
sign-macos-packages: false | ||
sign-windows-packages: false | ||
secrets: inherit | ||
build-pkgs-src-macos: | ||
name: Build Packages | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-salt-onedir-macos | ||
uses: ./.github/workflows/build-packages.yml | ||
with: | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
source: "src" | ||
kind: macos | ||
environment: nightly | ||
sign-macos-packages: false | ||
sign-windows-packages: false | ||
secrets: inherit | ||
build-pkgs-onedir-windows: | ||
name: Build Packages | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-salt-onedir-windows | ||
uses: ./.github/workflows/build-packages.yml | ||
with: | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
source: "onedir" | ||
kind: windows | ||
environment: nightly | ||
sign-macos-packages: false | ||
sign-windows-packages: false | ||
secrets: inherit | ||
build-pkgs-src-windows: | ||
name: Build Packages | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-salt-onedir-windows | ||
uses: ./.github/workflows/build-packages.yml | ||
with: | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
relenv-version: "0.18.0" | ||
python-version: "3.10.15" | ||
source: "src" | ||
kind: windows | ||
environment: nightly | ||
sign-macos-packages: false | ||
sign-windows-packages: false | ||
secrets: inherit | ||
build-ci-deps-linux: | ||
name: CI Deps | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-deps-ci'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-salt-onedir-linux | ||
uses: ./.github/workflows/build-deps-ci-action.yml | ||
with: | ||
nox-session: ci-test-onedir | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}" | ||
kind: linux | ||
build-ci-deps-macos: | ||
name: CI Deps | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-deps-ci'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-salt-onedir-macos | ||
uses: ./.github/workflows/build-deps-ci-action.yml | ||
with: | ||
nox-session: ci-test-onedir | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}" | ||
kind: macos | ||
build-ci-deps-windows: | ||
name: CI Deps | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-deps-ci'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-salt-onedir-windows | ||
uses: ./.github/workflows/build-deps-ci-action.yml | ||
with: | ||
nox-session: ci-test-onedir | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}" | ||
kind: windows | ||
rockylinux-8-pkg-tests: | ||
name: Rocky Linux 8 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: rockylinux-8 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:rockylinux-8 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
rockylinux-8-arm64-pkg-tests: | ||
name: Rocky Linux 8 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: rockylinux-8-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:rockylinux-8 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
rockylinux-9-pkg-tests: | ||
name: Rocky Linux 9 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: rockylinux-9 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:rockylinux-9 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
rockylinux-9-arm64-pkg-tests: | ||
name: Rocky Linux 9 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: rockylinux-9-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:rockylinux-9 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
amazonlinux-2-pkg-tests: | ||
name: Amazon Linux 2 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: amazonlinux-2 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:amazonlinux-2 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
amazonlinux-2-arm64-pkg-tests: | ||
name: Amazon Linux 2 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: amazonlinux-2-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:amazonlinux-2 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
amazonlinux-2023-pkg-tests: | ||
name: Amazon Linux 2023 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: amazonlinux-2023 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:amazonlinux-2023 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
amazonlinux-2023-arm64-pkg-tests: | ||
name: Amazon Linux 2023 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: amazonlinux-2023-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:amazonlinux-2023 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
debian-11-pkg-tests: | ||
name: Debian 11 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: debian-11 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:debian-11 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: deb | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
debian-11-arm64-pkg-tests: | ||
name: Debian 11 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: debian-11-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:debian-11 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: deb | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
debian-12-pkg-tests: | ||
name: Debian 12 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: debian-12 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:debian-12 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: deb | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
debian-12-arm64-pkg-tests: | ||
name: Debian 12 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: debian-12-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:debian-12 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: deb | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
photonos-4-pkg-tests: | ||
name: Photon OS 4 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: photonos-4 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-4 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
photonos-4-arm64-pkg-tests: | ||
name: Photon OS 4 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: photonos-4-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-4 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
photonos-4-pkg-tests-fips: | ||
name: Photon OS 4 Package Test (fips) | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: photonos-4 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-4 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
fips: true | ||
photonos-4-arm64-pkg-tests-fips: | ||
name: Photon OS 4 Arm64 Package Test (fips) | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: photonos-4-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-4 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
fips: true | ||
photonos-5-pkg-tests: | ||
name: Photon OS 5 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: photonos-5 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-5 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
photonos-5-arm64-pkg-tests: | ||
name: Photon OS 5 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: photonos-5-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-5 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
photonos-5-pkg-tests-fips: | ||
name: Photon OS 5 Package Test (fips) | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: photonos-5 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-5 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
fips: true | ||
photonos-5-arm64-pkg-tests-fips: | ||
name: Photon OS 5 Arm64 Package Test (fips) | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: photonos-5-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-5 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: rpm | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
fips: true | ||
ubuntu-2004-pkg-tests: | ||
name: Ubuntu 20.04 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-20.04 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-20.04 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: deb | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
ubuntu-2004-arm64-pkg-tests: | ||
name: Ubuntu 20.04 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-20.04-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-20.04 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: deb | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
ubuntu-2204-pkg-tests: | ||
name: Ubuntu 22.04 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-22.04 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:systemd-ubuntu-22.04 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: deb | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
ubuntu-2204-arm64-pkg-tests: | ||
name: Ubuntu 22.04 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-22.04-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:systemd-ubuntu-22.04 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: deb | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
ubuntu-2404-pkg-tests: | ||
name: Ubuntu 24.04 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-24.04 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-24.04 | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: deb | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
ubuntu-2404-arm64-pkg-tests: | ||
name: Ubuntu 24.04 Arm64 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-packages-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-24.04-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-24.04 | ||
arch: arm64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: deb | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
test-pkg-macos-12: | ||
name: macOS 12 Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-macos | ||
- build-ci-deps-macos | ||
uses: ./.github/workflows/test-packages-action-macos.yml | ||
with: | ||
distro-slug: macos-12 | ||
runner: macos-12 | ||
nox-session: ci-test-onedir | ||
platform: macos | ||
arch: x86_64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: macos | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
test-pkg-windows-2019-NSIS: | ||
name: Windows 2019 NSIS Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-windows | ||
- build-ci-deps-windows | ||
uses: ./.github/workflows/test-packages-action-windows.yml | ||
with: | ||
distro-slug: windows-2019 | ||
nox-session: ci-test-onedir | ||
platform: windows | ||
arch: amd64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: NSIS | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
test-pkg-windows-2019-MSI: | ||
name: Windows 2019 MSI Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-windows | ||
- build-ci-deps-windows | ||
uses: ./.github/workflows/test-packages-action-windows.yml | ||
with: | ||
distro-slug: windows-2019 | ||
nox-session: ci-test-onedir | ||
platform: windows | ||
arch: amd64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: MSI | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
test-pkg-windows-2022-NSIS: | ||
name: Windows 2022 NSIS Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-windows | ||
- build-ci-deps-windows | ||
uses: ./.github/workflows/test-packages-action-windows.yml | ||
with: | ||
distro-slug: windows-2022 | ||
nox-session: ci-test-onedir | ||
platform: windows | ||
arch: amd64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: NSIS | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
test-windows-2022: | ||
name: Windows 2022 MSI Package Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-windows | ||
- build-ci-deps-windows | ||
uses: ./.github/workflows/test-packages-action-windows.yml | ||
with: | ||
distro-slug: windows-2022 | ||
nox-session: ci-test-onedir | ||
platform: windows | ||
arch: amd64 | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
pkg-type: MSI | ||
nox-version: 2022.8.7 | ||
python-version: "3.10" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | ||
test-windows-2019: | ||
name: Windows 2019 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-windows | ||
uses: ./.github/workflows/test-action-windows.yml | ||
with: | ||
distro-slug: windows-2019 | ||
nox-session: ci-test-onedir | ||
platform: windows | ||
arch: amd64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-windows-2022: | ||
name: Windows 2022 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-windows | ||
uses: ./.github/workflows/test-action-windows.yml | ||
with: | ||
distro-slug: windows-2022 | ||
nox-session: ci-test-onedir | ||
platform: windows | ||
arch: amd64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-macos-12: | ||
name: macOS 12 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-macos | ||
uses: ./.github/workflows/test-action-macos.yml | ||
with: | ||
distro-slug: macos-12 | ||
runner: macos-12 | ||
nox-session: ci-test-onedir | ||
platform: macos | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-rockylinux-8: | ||
name: Rocky Linux 8 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: rockylinux-8 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:rockylinux-8 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-rockylinux-8-arm64: | ||
name: Rocky Linux 8 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: rockylinux-8-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:rockylinux-8 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-rockylinux-9: | ||
name: Rocky Linux 9 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: rockylinux-9 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:rockylinux-9 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-rockylinux-9-arm64: | ||
name: Rocky Linux 9 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: rockylinux-9-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:rockylinux-9 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-amazonlinux-2: | ||
name: Amazon Linux 2 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: amazonlinux-2 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:amazonlinux-2 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-amazonlinux-2-arm64: | ||
name: Amazon Linux 2 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: amazonlinux-2-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:amazonlinux-2 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-amazonlinux-2023: | ||
name: Amazon Linux 2023 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: amazonlinux-2023 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:amazonlinux-2023 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-amazonlinux-2023-arm64: | ||
name: Amazon Linux 2023 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: amazonlinux-2023-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:amazonlinux-2023 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-debian-11: | ||
name: Debian 11 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: debian-11 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:debian-11 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-debian-11-arm64: | ||
name: Debian 11 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: debian-11-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:debian-11 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-debian-12: | ||
name: Debian 12 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: debian-12 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:debian-12 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-debian-12-arm64: | ||
name: Debian 12 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: debian-12-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:debian-12 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-fedora-40: | ||
name: Fedora 40 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: fedora-40 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:fedora-40 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-photonos-4: | ||
name: Photon OS 4 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: photonos-4 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-4 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-photonos-4-arm64: | ||
name: Photon OS 4 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: photonos-4-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-4 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-photonos-4-fips: | ||
name: Photon OS 4 Test (fips) | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: photonos-4 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-4 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
fips: true | ||
test-photonos-4-arm64-fips: | ||
name: Photon OS 4 Arm64 Test (fips) | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: photonos-4-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-4 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
fips: true | ||
test-photonos-5: | ||
name: Photon OS 5 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: photonos-5 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-5 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-photonos-5-arm64: | ||
name: Photon OS 5 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: photonos-5-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-5 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-photonos-5-fips: | ||
name: Photon OS 5 Test (fips) | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: photonos-5 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-5 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
fips: true | ||
test-photonos-5-arm64-fips: | ||
name: Photon OS 5 Arm64 Test (fips) | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: photonos-5-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:photon-5 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
fips: true | ||
test-ubuntu-2004: | ||
name: Ubuntu 20.04 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-20.04 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-20.04 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-ubuntu-2004-arm64: | ||
name: Ubuntu 20.04 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-20.04-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-20.04 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-ubuntu-2204: | ||
name: Ubuntu 22.04 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-22.04 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-22.04 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-ubuntu-2204-arm64: | ||
name: Ubuntu 22.04 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-22.04-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-22.04 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-ubuntu-2404: | ||
name: Ubuntu 24.04 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-24.04 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-24.04 | ||
arch: x86_64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
test-ubuntu-2404-arm64: | ||
name: Ubuntu 24.04 Arm64 Test | ||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] }} | ||
needs: | ||
- prepare-workflow | ||
- build-ci-deps-linux | ||
uses: ./.github/workflows/test-action-linux.yml | ||
with: | ||
distro-slug: ubuntu-24.04-arm64 | ||
nox-session: ci-test-onedir | ||
platform: linux | ||
container: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-24.04 | ||
arch: arm64 | ||
nox-version: 2022.8.7 | ||
gh-actions-python-version: "3.10" | ||
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | ||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15 | ||
skip-code-coverage: true | ||
workflow-slug: nightly | ||
default-timeout: 360 | ||
build-src-repo: | ||
name: Build Repository | ||
environment: nightly | ||
runs-on: | ||
- linux-x86_64 | ||
env: | ||
USE_S3_CACHE: 'false' | ||
needs: | ||
- prepare-workflow | ||
- build-source-tarball | ||
- build-pkgs-src-linux | ||
- build-pkgs-src-macos | ||
- build-pkgs-src-windows | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
pkg-type: | ||
- src | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup Python Tools Scripts | ||
uses: ./.github/actions/setup-python-tools-scripts | ||
with: | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
- name: Get Salt Project GitHub Actions Bot Environment | ||
run: | | ||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | ||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | ||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | ||
- name: Download Source Tarball | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz | ||
path: artifacts/pkgs/incoming | ||
- name: Setup GnuPG | ||
run: | | ||
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | ||
GNUPGHOME="$(mktemp -d -p /run/gpg)" | ||
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | ||
cat <<EOF > "${GNUPGHOME}/gpg.conf" | ||
batch | ||
no-tty | ||
pinentry-mode loopback | ||
EOF | ||
- name: Get Secrets | ||
env: | ||
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | ||
run: | | ||
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | ||
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text | jq .default_key -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | ||
| gpg --import - | ||
sync | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | ||
sync | ||
rm "$SECRETS_KEY_FILE" | ||
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | ||
- name: Create Repository Path | ||
run: | | ||
mkdir -p artifacts/pkgs/repo | ||
- name: Create Repository | ||
run: | | ||
tools pkg repo create src --key-id=64CBBC8173D76B3F --nightly-build-from=${{ github.ref_name }} \ | ||
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | ||
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | ||
- name: Copy Files For Source Only Artifact Uploads | ||
run: | | ||
mkdir artifacts/src | ||
find artifacts/pkgs/repo -type f -print -exec cp {} artifacts/src \; | ||
- name: Upload Standalone Repository As An Artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-src-repo | ||
path: | | ||
artifacts/src/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz | ||
artifacts/src/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz.* | ||
artifacts/src/*-GPG-* | ||
retention-days: 7 | ||
if-no-files-found: error | ||
- name: Upload Repository As An Artifact | ||
uses: ./.github/actions/upload-artifact | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-src | ||
path: artifacts/pkgs/repo/* | ||
retention-days: 7 | ||
if-no-files-found: error | ||
archive-name: src-repo | ||
build-deb-repo: | ||
name: Build Repository | ||
environment: nightly | ||
runs-on: | ||
- linux-x86_64 | ||
env: | ||
USE_S3_CACHE: 'false' | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- pkg-type: deb | ||
distro: debian | ||
version: "11" | ||
arch: x86_64 | ||
- pkg-type: deb | ||
distro: debian | ||
version: "11" | ||
arch: arm64 | ||
- pkg-type: deb | ||
distro: debian | ||
version: "12" | ||
arch: x86_64 | ||
- pkg-type: deb | ||
distro: debian | ||
version: "12" | ||
arch: arm64 | ||
- pkg-type: deb | ||
distro: ubuntu | ||
version: "20.04" | ||
arch: x86_64 | ||
- pkg-type: deb | ||
distro: ubuntu | ||
version: "20.04" | ||
arch: arm64 | ||
- pkg-type: deb | ||
distro: ubuntu | ||
version: "22.04" | ||
arch: x86_64 | ||
- pkg-type: deb | ||
distro: ubuntu | ||
version: "22.04" | ||
arch: arm64 | ||
- pkg-type: deb | ||
distro: ubuntu | ||
version: "24.04" | ||
arch: x86_64 | ||
- pkg-type: deb | ||
distro: ubuntu | ||
version: "24.04" | ||
arch: arm64 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Download System Dependencies | ||
run: | | ||
sudo apt update | ||
sudo apt install -y devscripts apt-utils | ||
- name: Setup Python Tools Scripts | ||
uses: ./.github/actions/setup-python-tools-scripts | ||
with: | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
- name: Get Salt Project GitHub Actions Bot Environment | ||
run: | | ||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | ||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | ||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | ||
- name: Download DEB Packages | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-${{ matrix.arch }}-deb | ||
path: artifacts/pkgs/incoming | ||
- name: Setup GnuPG | ||
run: | | ||
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | ||
GNUPGHOME="$(mktemp -d -p /run/gpg)" | ||
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | ||
cat <<EOF > "${GNUPGHOME}/gpg.conf" | ||
batch | ||
no-tty | ||
pinentry-mode loopback | ||
EOF | ||
- name: Get Secrets | ||
env: | ||
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | ||
run: | | ||
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | ||
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text | jq .default_key -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | ||
| gpg --import - | ||
sync | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | ||
sync | ||
rm "$SECRETS_KEY_FILE" | ||
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | ||
- name: Create Repository Path | ||
run: | | ||
mkdir -p artifacts/pkgs/repo | ||
- name: Create Repository | ||
run: | | ||
tools pkg repo create deb --key-id=64CBBC8173D76B3F --distro-arch=${{ matrix.arch }} --nightly-build-from=${{ github.ref_name }} \ | ||
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | ||
--distro=${{ matrix.distro }} --distro-version=${{ matrix.version }} \ | ||
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | ||
- name: Upload Repository As An Artifact | ||
uses: ./.github/actions/upload-artifact | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-${{ matrix.pkg-type }}-${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }} | ||
path: artifacts/pkgs/repo/* | ||
retention-days: 7 | ||
if-no-files-found: error | ||
archive-name: ${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }}-repo | ||
build-rpm-repo: | ||
name: Build Repository | ||
environment: nightly | ||
runs-on: | ||
- linux-x86_64 | ||
env: | ||
USE_S3_CACHE: 'false' | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-linux | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- pkg-type: rpm | ||
distro: amazon | ||
version: "2" | ||
arch: x86_64 | ||
- pkg-type: rpm | ||
distro: amazon | ||
version: "2" | ||
arch: arm64 | ||
- pkg-type: rpm | ||
distro: amazon | ||
version: "2" | ||
arch: aarch64 | ||
- pkg-type: rpm | ||
distro: amazon | ||
version: "2023" | ||
arch: x86_64 | ||
- pkg-type: rpm | ||
distro: amazon | ||
version: "2023" | ||
arch: arm64 | ||
- pkg-type: rpm | ||
distro: amazon | ||
version: "2023" | ||
arch: aarch64 | ||
- pkg-type: rpm | ||
distro: fedora | ||
version: "40" | ||
arch: x86_64 | ||
- pkg-type: rpm | ||
distro: fedora | ||
version: "40" | ||
arch: arm64 | ||
- pkg-type: rpm | ||
distro: fedora | ||
version: "40" | ||
arch: aarch64 | ||
- pkg-type: rpm | ||
distro: photon | ||
version: "4" | ||
arch: x86_64 | ||
- pkg-type: rpm | ||
distro: photon | ||
version: "4" | ||
arch: arm64 | ||
- pkg-type: rpm | ||
distro: photon | ||
version: "4" | ||
arch: aarch64 | ||
- pkg-type: rpm | ||
distro: photon | ||
version: "5" | ||
arch: x86_64 | ||
- pkg-type: rpm | ||
distro: photon | ||
version: "5" | ||
arch: arm64 | ||
- pkg-type: rpm | ||
distro: photon | ||
version: "5" | ||
arch: aarch64 | ||
- pkg-type: rpm | ||
distro: redhat | ||
version: "8" | ||
arch: x86_64 | ||
- pkg-type: rpm | ||
distro: redhat | ||
version: "8" | ||
arch: arm64 | ||
- pkg-type: rpm | ||
distro: redhat | ||
version: "8" | ||
arch: aarch64 | ||
- pkg-type: rpm | ||
distro: redhat | ||
version: "9" | ||
arch: x86_64 | ||
- pkg-type: rpm | ||
distro: redhat | ||
version: "9" | ||
arch: arm64 | ||
- pkg-type: rpm | ||
distro: redhat | ||
version: "9" | ||
arch: aarch64 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Download System Dependencies | ||
run: | | ||
sudo apt update | ||
sudo apt install -y rpm | ||
- name: Setup Python Tools Scripts | ||
uses: ./.github/actions/setup-python-tools-scripts | ||
with: | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
- name: Get Salt Project GitHub Actions Bot Environment | ||
run: | | ||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | ||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | ||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | ||
- name: Download RPM Packages | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}-rpm | ||
path: artifacts/pkgs/incoming | ||
- name: Setup GnuPG | ||
run: | | ||
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | ||
GNUPGHOME="$(mktemp -d -p /run/gpg)" | ||
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | ||
cat <<EOF > "${GNUPGHOME}/gpg.conf" | ||
batch | ||
no-tty | ||
pinentry-mode loopback | ||
EOF | ||
- name: Get Secrets | ||
env: | ||
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | ||
run: | | ||
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | ||
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text | jq .default_key -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | ||
| gpg --import - | ||
sync | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | ||
sync | ||
rm "$SECRETS_KEY_FILE" | ||
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | ||
- name: Create Repository Path | ||
run: | | ||
mkdir -p artifacts/pkgs/repo | ||
- name: Create Repository | ||
env: | ||
SALT_REPO_DOMAIN_RELEASE: ${{ vars.SALT_REPO_DOMAIN_RELEASE || 'repo.saltproject.io' }} | ||
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }} | ||
run: | | ||
tools pkg repo create rpm --key-id=64CBBC8173D76B3F --distro-arch=${{ matrix.arch }} --nightly-build-from=${{ github.ref_name }} \ | ||
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | ||
--distro=${{ matrix.distro }} --distro-version=${{ matrix.version }} \ | ||
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | ||
- name: Upload Repository As An Artifact | ||
uses: ./.github/actions/upload-artifact | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-${{ matrix.pkg-type }}-${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }} | ||
path: artifacts/pkgs/repo/* | ||
retention-days: 7 | ||
if-no-files-found: error | ||
archive-name: ${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }}-repo | ||
build-windows-repo: | ||
name: Build Repository | ||
environment: nightly | ||
runs-on: | ||
- linux-x86_64 | ||
env: | ||
USE_S3_CACHE: 'false' | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-windows | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
pkg-type: | ||
- windows | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup Python Tools Scripts | ||
uses: ./.github/actions/setup-python-tools-scripts | ||
with: | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
- name: Get Salt Project GitHub Actions Bot Environment | ||
run: | | ||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | ||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | ||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | ||
- name: Download Windows NSIS x86 Packages | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-x86-NSIS | ||
path: artifacts/pkgs/incoming | ||
- name: Download Windows MSI x86 Packages | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-x86-MSI | ||
path: artifacts/pkgs/incoming | ||
- name: Download Windows NSIS amd64 Packages | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-amd64-NSIS | ||
path: artifacts/pkgs/incoming | ||
- name: Download Windows MSI amd64 Packages | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-amd64-MSI | ||
path: artifacts/pkgs/incoming | ||
- name: Setup GnuPG | ||
run: | | ||
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | ||
GNUPGHOME="$(mktemp -d -p /run/gpg)" | ||
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | ||
cat <<EOF > "${GNUPGHOME}/gpg.conf" | ||
batch | ||
no-tty | ||
pinentry-mode loopback | ||
EOF | ||
- name: Get Secrets | ||
env: | ||
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | ||
run: | | ||
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | ||
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text | jq .default_key -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | ||
| gpg --import - | ||
sync | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | ||
sync | ||
rm "$SECRETS_KEY_FILE" | ||
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | ||
- name: Create Repository Path | ||
run: | | ||
mkdir -p artifacts/pkgs/repo | ||
- name: Create Repository | ||
run: | | ||
tools pkg repo create windows --key-id=64CBBC8173D76B3F --nightly-build-from=${{ github.ref_name }} \ | ||
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | ||
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | ||
- name: Upload Repository As An Artifact | ||
uses: ./.github/actions/upload-artifact | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-windows | ||
path: artifacts/pkgs/repo/* | ||
retention-days: 7 | ||
if-no-files-found: error | ||
archive-name: windows-repo | ||
build-macos-repo: | ||
name: Build Repository | ||
environment: nightly | ||
runs-on: | ||
- linux-x86_64 | ||
env: | ||
USE_S3_CACHE: 'false' | ||
needs: | ||
- prepare-workflow | ||
- build-pkgs-onedir-macos | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
pkg-type: | ||
- macos | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup Python Tools Scripts | ||
uses: ./.github/actions/setup-python-tools-scripts | ||
with: | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
- name: Get Salt Project GitHub Actions Bot Environment | ||
run: | | ||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | ||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | ||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | ||
- name: Download macOS x86_64 Packages | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-x86_64-macos | ||
path: artifacts/pkgs/incoming | ||
- name: Download macOS Arch64 Packages | ||
if: ${{ ! github.event.repository.fork }} | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-arm64-macos | ||
path: artifacts/pkgs/incoming | ||
- name: Setup GnuPG | ||
run: | | ||
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | ||
GNUPGHOME="$(mktemp -d -p /run/gpg)" | ||
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | ||
cat <<EOF > "${GNUPGHOME}/gpg.conf" | ||
batch | ||
no-tty | ||
pinentry-mode loopback | ||
EOF | ||
- name: Get Secrets | ||
env: | ||
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | ||
run: | | ||
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | ||
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text | jq .default_key -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | ||
| gpg --import - | ||
sync | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | ||
sync | ||
rm "$SECRETS_KEY_FILE" | ||
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | ||
- name: Create Repository Path | ||
run: | | ||
mkdir -p artifacts/pkgs/repo | ||
- name: Create Repository | ||
run: | | ||
tools pkg repo create macos --key-id=64CBBC8173D76B3F --nightly-build-from=${{ github.ref_name }} \ | ||
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | ||
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | ||
- name: Upload Repository As An Artifact | ||
uses: ./.github/actions/upload-artifact | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-macos | ||
path: artifacts/pkgs/repo/* | ||
retention-days: 7 | ||
if-no-files-found: error | ||
archive-name: macos-repo | ||
build-onedir-repo: | ||
name: Build Repository | ||
environment: nightly | ||
runs-on: | ||
- linux-x86_64 | ||
env: | ||
USE_S3_CACHE: 'false' | ||
needs: | ||
- prepare-workflow | ||
- build-salt-onedir-linux | ||
- build-salt-onedir-macos | ||
- build-salt-onedir-windows | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
pkg-type: | ||
- onedir | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup Python Tools Scripts | ||
uses: ./.github/actions/setup-python-tools-scripts | ||
with: | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
- name: Get Salt Project GitHub Actions Bot Environment | ||
run: | | ||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | ||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | ||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | ||
- name: Download Linux x86_64 Onedir Archive | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-linux-x86_64.tar.xz | ||
path: artifacts/pkgs/incoming | ||
- name: Download Linux arm64 Onedir Archive | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-linux-arm64.tar.xz | ||
path: artifacts/pkgs/incoming | ||
- name: Download macOS x86_64 Onedir Archive | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-macos-x86_64.tar.xz | ||
path: artifacts/pkgs/incoming | ||
- name: Download macOS arm64 Onedir Archive | ||
if: ${{ ! github.event.repository.fork }} | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-macos-arm64.tar.xz | ||
path: artifacts/pkgs/incoming | ||
- name: Download Windows amd64 Onedir Archive | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-windows-amd64.tar.xz | ||
path: artifacts/pkgs/incoming | ||
- name: Download Windows amd64 Onedir Archive(zip) | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-windows-amd64.zip | ||
path: artifacts/pkgs/incoming | ||
- name: Download Windows x86 Onedir Archive | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-windows-x86.tar.xz | ||
path: artifacts/pkgs/incoming | ||
- name: Download Windows amd64 Onedir Archive(zip) | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-windows-x86.zip | ||
path: artifacts/pkgs/incoming | ||
- name: Setup GnuPG | ||
run: | | ||
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | ||
GNUPGHOME="$(mktemp -d -p /run/gpg)" | ||
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | ||
cat <<EOF > "${GNUPGHOME}/gpg.conf" | ||
batch | ||
no-tty | ||
pinentry-mode loopback | ||
EOF | ||
- name: Get Secrets | ||
env: | ||
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | ||
run: | | ||
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | ||
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text | jq .default_key -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | ||
| gpg --import - | ||
sync | ||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | ||
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | ||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | ||
sync | ||
rm "$SECRETS_KEY_FILE" | ||
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | ||
- name: Create Repository Path | ||
run: | | ||
mkdir -p artifacts/pkgs/repo | ||
- name: Create Repository | ||
run: | | ||
tools pkg repo create onedir --key-id=64CBBC8173D76B3F --nightly-build-from=${{ github.ref_name }} \ | ||
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | ||
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | ||
- name: Upload Repository As An Artifact | ||
uses: ./.github/actions/upload-artifact | ||
with: | ||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-onedir | ||
path: artifacts/pkgs/repo/* | ||
retention-days: 7 | ||
if-no-files-found: error | ||
archive-name: onedir-repo | ||
publish-repositories: | ||
name: Publish Repositories | ||
if: ${{ always() && ! failure() && ! cancelled() }} | ||
runs-on: | ||
- linux-x86_64 | ||
environment: nightly | ||
needs: | ||
- prepare-workflow | ||
- build-docs | ||
- build-src-repo | ||
- build-deb-repo | ||
- build-rpm-repo | ||
- build-windows-repo | ||
- build-macos-repo | ||
- build-onedir-repo | ||
- build-ci-deps-linux | ||
- build-ci-deps-macos | ||
- build-ci-deps-windows | ||
- test-windows-2019 | ||
- test-windows-2022 | ||
- test-macos-12 | ||
- test-rockylinux-8 | ||
- test-rockylinux-8-arm64 | ||
- test-rockylinux-9 | ||
- test-rockylinux-9-arm64 | ||
- test-amazonlinux-2 | ||
- test-amazonlinux-2-arm64 | ||
- test-amazonlinux-2023 | ||
- test-amazonlinux-2023-arm64 | ||
- test-debian-11 | ||
- test-debian-11-arm64 | ||
- test-debian-12 | ||
- test-debian-12-arm64 | ||
- test-fedora-40 | ||
- test-photonos-4 | ||
- test-photonos-4-arm64 | ||
- test-photonos-4-fips | ||
- test-photonos-4-arm64-fips | ||
- test-photonos-5 | ||
- test-photonos-5-arm64 | ||
- test-photonos-5-fips | ||
- test-photonos-5-arm64-fips | ||
- test-ubuntu-2004 | ||
- test-ubuntu-2004-arm64 | ||
- test-ubuntu-2204 | ||
- test-ubuntu-2204-arm64 | ||
- test-ubuntu-2404 | ||
- test-ubuntu-2404-arm64 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Get Salt Project GitHub Actions Bot Environment | ||
run: | | ||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | ||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | ||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | ||
- name: Setup Python Tools Scripts | ||
uses: ./.github/actions/setup-python-tools-scripts | ||
with: | ||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | ||
- name: Download Repository Artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
pattern: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-* | ||
merge-multiple: true | ||
path: repo/ | ||
- name: Decompress Repository Artifacts | ||
run: | | ||
find repo/ -type f -name '*.tar.gz' -print -exec tar xvf {} \; | ||
find repo/ -type f -name '*.tar.gz' -print -exec rm -f {} \; | ||
- name: Show Repository | ||
run: | | ||
tree -a artifacts/pkgs/repo/ | ||
- name: Upload Repository Contents (nightly) | ||
env: | ||
SALT_REPO_DOMAIN_RELEASE: ${{ vars.SALT_REPO_DOMAIN_RELEASE || 'repo.saltproject.io' }} | ||
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }} | ||
run: | | ||
tools pkg repo publish nightly --salt-version=${{ needs.prepare-workflow.outputs.salt-version }} artifacts/pkgs/repo/ | ||
set-pipeline-exit-status: | ||
# This step is just so we can make github require this step, to pass checks | ||
# on a pull request instead of requiring all | ||
name: Set the ${{ github.workflow }} Pipeline Exit Status | ||
if: always() | ||
runs-on: ubuntu-latest | ||
environment: nightly | ||
needs: | ||
- workflow-requirements | ||
- trigger-branch-nightly-builds | ||
- prepare-workflow | ||
- pre-commit | ||
- lint | ||
- nsis-tests | ||
- build-docs | ||
- build-deps-onedir-linux | ||
- build-deps-onedir-macos | ||
- build-deps-onedir-windows | ||
- build-salt-onedir-linux | ||
- build-salt-onedir-macos | ||
- build-salt-onedir-windows | ||
- build-pkgs-src-linux | ||
- build-pkgs-src-macos | ||
- build-pkgs-src-windows | ||
- publish-repositories | ||
- rockylinux-8-pkg-tests | ||
- rockylinux-8-arm64-pkg-tests | ||
- rockylinux-9-pkg-tests | ||
- rockylinux-9-arm64-pkg-tests | ||
- amazonlinux-2-pkg-tests | ||
- amazonlinux-2-arm64-pkg-tests | ||
- amazonlinux-2023-pkg-tests | ||
- amazonlinux-2023-arm64-pkg-tests | ||
- debian-11-pkg-tests | ||
- debian-11-arm64-pkg-tests | ||
- debian-12-pkg-tests | ||
- debian-12-arm64-pkg-tests | ||
- photonos-4-pkg-tests | ||
- photonos-4-arm64-pkg-tests | ||
- photonos-4-pkg-tests-fips | ||
- photonos-4-arm64-pkg-tests-fips | ||
- photonos-5-pkg-tests | ||
- photonos-5-arm64-pkg-tests | ||
- photonos-5-pkg-tests-fips | ||
- photonos-5-arm64-pkg-tests-fips | ||
- ubuntu-2004-pkg-tests | ||
- ubuntu-2004-arm64-pkg-tests | ||
- ubuntu-2204-pkg-tests | ||
- ubuntu-2204-arm64-pkg-tests | ||
- ubuntu-2404-pkg-tests | ||
- ubuntu-2404-arm64-pkg-tests | ||
- test-pkg-macos-12 | ||
- test-pkg-windows-2019-NSIS | ||
- test-pkg-windows-2019-MSI | ||
- test-pkg-windows-2022-NSIS | ||
- test-windows-2022 | ||
steps: | ||
- name: Get workflow information | ||
id: get-workflow-info | ||
uses: im-open/workflow-conclusion@v2 | ||
- name: Set Pipeline Exit Status | ||
shell: bash | ||
run: | | ||
if [ "${{ steps.get-workflow-info.outputs.workflow_conclusion }}" != "success" ]; then | ||
exit 1 | ||
else | ||
exit 0 | ||
fi | ||
- name: Done | ||
if: always() | ||
run: | ||
echo "All worflows finished" |