mirror of
https://github.com/saltstack/salt.git
synced 2025-04-16 17:50:20 +00:00
Add draft release step to staging
This commit is contained in:
parent
8a75364276
commit
7fe5d46660
9 changed files with 83 additions and 110 deletions
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
|
@ -240,7 +240,7 @@ jobs:
|
|||
|
||||
lint:
|
||||
name: Lint
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['lint'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
|
||||
uses: ./.github/workflows/lint-action.yml
|
||||
needs:
|
||||
- prepare-workflow
|
||||
|
@ -258,7 +258,7 @@ jobs:
|
|||
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
runs-on:
|
||||
- ubuntu-22.04
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['prepare-release'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
steps:
|
||||
|
@ -365,7 +365,7 @@ jobs:
|
|||
|
||||
build-docs:
|
||||
name: Documentation
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-docs'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-source-tarball
|
||||
|
@ -376,7 +376,7 @@ jobs:
|
|||
|
||||
build-source-tarball:
|
||||
name: Build Source Tarball
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-source-tarball'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- prepare-release
|
||||
|
|
33
.github/workflows/draft-release.yml
vendored
Normal file
33
.github/workflows/draft-release.yml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
name: Draft Github Release
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
salt-version:
|
||||
type: string
|
||||
required: true
|
||||
description: The Salt version to set prior to building packages.
|
||||
matrix:
|
||||
required: true
|
||||
type: string
|
||||
description: Json job matrix config
|
||||
|
||||
env:
|
||||
COLUMNS: 190
|
||||
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
|
||||
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
|
||||
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
|
||||
PIP_DISABLE_PIP_VERSION_CHECK: "1"
|
||||
|
||||
jobs:
|
||||
|
||||
create-github-release:
|
||||
name: Create Github Draft Release
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
# Checkout here so we can easily use custom actions
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/download-artifact@v4
|
||||
- name: List Directory Structure
|
||||
run: ls -R
|
8
.github/workflows/nightly.yml
vendored
8
.github/workflows/nightly.yml
vendored
|
@ -289,7 +289,7 @@ jobs:
|
|||
|
||||
lint:
|
||||
name: Lint
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['lint'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
|
||||
uses: ./.github/workflows/lint-action.yml
|
||||
needs:
|
||||
- prepare-workflow
|
||||
|
@ -307,7 +307,7 @@ jobs:
|
|||
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
runs-on:
|
||||
- ubuntu-22.04
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['prepare-release'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
steps:
|
||||
|
@ -419,7 +419,7 @@ jobs:
|
|||
|
||||
build-docs:
|
||||
name: Documentation
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-docs'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-source-tarball
|
||||
|
@ -430,7 +430,7 @@ jobs:
|
|||
|
||||
build-source-tarball:
|
||||
name: Build Source Tarball
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-source-tarball'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- prepare-release
|
||||
|
|
21
.github/workflows/release.yml
vendored
21
.github/workflows/release.yml
vendored
|
@ -254,25 +254,6 @@ jobs:
|
|||
run: |
|
||||
tools pkg repo publish release ${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
|
||||
pkg-download-tests:
|
||||
name: Package Downloads
|
||||
if: ${{ inputs.skip-salt-pkg-download-test-suite == false }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
- download-onedir-artifact
|
||||
uses: ./.github/workflows/test-package-downloads-action.yml
|
||||
with:
|
||||
nox-session: ci-test-onedir
|
||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
|
||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
environment: release
|
||||
nox-version: 2022.8.7
|
||||
python-version: "3.10"
|
||||
skip-code-coverage: true
|
||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||
secrets: inherit
|
||||
|
||||
release:
|
||||
name: Release v${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
if: ${{ always() && ! failure() && ! cancelled() }}
|
||||
|
@ -284,7 +265,6 @@ jobs:
|
|||
- prepare-workflow
|
||||
- backup
|
||||
- publish-repositories
|
||||
- pkg-download-tests
|
||||
environment: release
|
||||
steps:
|
||||
- name: Clone The Salt Repository
|
||||
|
@ -448,7 +428,6 @@ jobs:
|
|||
- check-requirements
|
||||
- prepare-workflow
|
||||
- publish-repositories
|
||||
- pkg-download-tests
|
||||
- release
|
||||
- publish-pypi
|
||||
- build-ci-deps
|
||||
|
|
8
.github/workflows/scheduled.yml
vendored
8
.github/workflows/scheduled.yml
vendored
|
@ -279,7 +279,7 @@ jobs:
|
|||
|
||||
lint:
|
||||
name: Lint
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['lint'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
|
||||
uses: ./.github/workflows/lint-action.yml
|
||||
needs:
|
||||
- prepare-workflow
|
||||
|
@ -297,7 +297,7 @@ jobs:
|
|||
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
runs-on:
|
||||
- ubuntu-22.04
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['prepare-release'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
steps:
|
||||
|
@ -404,7 +404,7 @@ jobs:
|
|||
|
||||
build-docs:
|
||||
name: Documentation
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-docs'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-source-tarball
|
||||
|
@ -415,7 +415,7 @@ jobs:
|
|||
|
||||
build-source-tarball:
|
||||
name: Build Source Tarball
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-source-tarball'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- prepare-release
|
||||
|
|
40
.github/workflows/staging.yml
vendored
40
.github/workflows/staging.yml
vendored
|
@ -279,7 +279,7 @@ jobs:
|
|||
|
||||
lint:
|
||||
name: Lint
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['lint'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
|
||||
uses: ./.github/workflows/lint-action.yml
|
||||
needs:
|
||||
- prepare-workflow
|
||||
|
@ -297,7 +297,7 @@ jobs:
|
|||
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
runs-on:
|
||||
- ubuntu-22.04
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['prepare-release'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
steps:
|
||||
|
@ -405,7 +405,7 @@ jobs:
|
|||
|
||||
build-docs:
|
||||
name: Documentation
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-docs'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-source-tarball
|
||||
|
@ -416,7 +416,7 @@ jobs:
|
|||
|
||||
build-source-tarball:
|
||||
name: Build Source Tarball
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-source-tarball'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- prepare-release
|
||||
|
@ -582,6 +582,7 @@ jobs:
|
|||
with:
|
||||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch
|
||||
path: artifacts/release
|
||||
|
||||
- name: Download Release Documentation (HTML)
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
@ -592,25 +593,6 @@ jobs:
|
|||
run: |
|
||||
tree -a artifacts/release
|
||||
|
||||
pkg-download-tests:
|
||||
name: Package Downloads
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg-download'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
- build-salt-onedir
|
||||
uses: ./.github/workflows/test-package-downloads-action.yml
|
||||
with:
|
||||
nox-session: ci-test-onedir
|
||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
|
||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
environment: staging
|
||||
nox-version: 2022.8.7
|
||||
python-version: "3.10"
|
||||
skip-code-coverage: true
|
||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||
secrets: inherit
|
||||
|
||||
publish-pypi:
|
||||
name: Publish to PyPi(test)
|
||||
if: ${{ inputs.skip-test-pypi-publish != true && github.event.repository.fork != true }}
|
||||
|
@ -618,7 +600,6 @@ jobs:
|
|||
- prepare-workflow
|
||||
- upload-release-artifacts
|
||||
- build-ci-deps
|
||||
- pkg-download-tests
|
||||
environment: staging
|
||||
runs-on:
|
||||
- ubuntu-22.04
|
||||
|
@ -666,6 +647,16 @@ jobs:
|
|||
run: |
|
||||
tools pkg pypi-upload --test artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz
|
||||
|
||||
draft-release:
|
||||
name: Draft Github Release
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- upload-release-artifacts
|
||||
uses: ./.github/workflows/draft-release.yml
|
||||
with:
|
||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
|
||||
|
||||
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
|
||||
|
@ -683,7 +674,6 @@ jobs:
|
|||
- build-salt-onedir
|
||||
- build-pkgs-src
|
||||
- upload-release-artifacts
|
||||
- pkg-download-tests
|
||||
- publish-pypi
|
||||
steps:
|
||||
- name: Get workflow information
|
||||
|
|
8
.github/workflows/templates/ci.yml.jinja
vendored
8
.github/workflows/templates/ci.yml.jinja
vendored
|
@ -29,7 +29,7 @@
|
|||
lint:
|
||||
<%- do conclusion_needs.append('lint') %>
|
||||
name: Lint
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
|
||||
uses: ./.github/workflows/lint-action.yml
|
||||
needs:
|
||||
- prepare-workflow
|
||||
|
@ -58,7 +58,7 @@
|
|||
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
runs-on:
|
||||
- ubuntu-22.04
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
steps:
|
||||
|
@ -185,7 +185,7 @@
|
|||
<{ job_name }>:
|
||||
<%- do conclusion_needs.append(job_name) %>
|
||||
name: Documentation
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-source-tarball
|
||||
|
@ -202,7 +202,7 @@
|
|||
|
||||
<{ job_name }>:
|
||||
name: Build Source Tarball
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- prepare-release
|
||||
|
|
|
@ -278,10 +278,6 @@ permissions:
|
|||
run: |
|
||||
tools pkg repo publish <{ gh_environment }> ${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
|
||||
<%- if includes.get("test-pkg-downloads", True) %>
|
||||
<%- include "test-salt-pkg-repo-downloads.yml.jinja" %>
|
||||
<%- endif %>
|
||||
|
||||
release:
|
||||
<%- do conclusion_needs.append('release') %>
|
||||
name: Release v${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
|
|
63
.github/workflows/templates/staging.yml.jinja
vendored
63
.github/workflows/templates/staging.yml.jinja
vendored
|
@ -91,13 +91,6 @@ concurrency:
|
|||
- ubuntu-22.04
|
||||
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
|
||||
|
@ -110,14 +103,6 @@ concurrency:
|
|||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch
|
||||
path: artifacts/release
|
||||
|
||||
{#-
|
||||
- name: Download Source Repository
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-src-repo
|
||||
path: artifacts/release
|
||||
|
||||
#}
|
||||
- name: Download Release Documentation (HTML)
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
@ -128,35 +113,6 @@ concurrency:
|
|||
run: |
|
||||
tree -a artifacts/release
|
||||
|
||||
{#-
|
||||
|
||||
- name: Download Release Documentation (PDF)
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: Salt-${{ needs.prepare-workflow.outputs.salt-version }}.pdf
|
||||
path: artifacts/release
|
||||
|
||||
|
||||
- name: Upload Release Artifacts
|
||||
run: |
|
||||
tools release upload-artifacts ${{ needs.prepare-workflow.outputs.salt-version }} artifacts/release
|
||||
|
||||
|
||||
- name: Upload PyPi Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pypi-artifacts
|
||||
path: |
|
||||
artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz
|
||||
artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz.asc
|
||||
retention-days: 7
|
||||
if-no-files-found: error
|
||||
#}
|
||||
|
||||
<%- if includes.get("test-pkg-downloads", True) %>
|
||||
<%- include "test-salt-pkg-repo-downloads.yml.jinja" %>
|
||||
<%- endif %>
|
||||
|
||||
publish-pypi:
|
||||
<%- do conclusion_needs.append('publish-pypi') %>
|
||||
name: Publish to PyPi(test)
|
||||
|
@ -220,4 +176,23 @@ concurrency:
|
|||
run: |
|
||||
tools pkg pypi-upload --test artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz
|
||||
|
||||
draft-release:
|
||||
name: Draft Github Release
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- upload-release-artifacts
|
||||
<%- for need in test_salt_needs.iter(consume=True) %>
|
||||
- <{ need }>
|
||||
<%- endfor %>
|
||||
<%- for need in test_salt_pkg_needs.iter(consume=True) %>
|
||||
- <{ need }>
|
||||
<%- endfor %>
|
||||
<%- for need in test_repo_needs.iter(consume=True) %>
|
||||
- <{ need }>
|
||||
<%- endfor %>
|
||||
uses: ./.github/workflows/draft-release.yml
|
||||
with:
|
||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
|
||||
|
||||
<%- endblock jobs %>
|
||||
|
|
Loading…
Add table
Reference in a new issue