mirror of
https://github.com/dbt-labs/dbt-core
synced 2025-12-20 01:51:29 +00:00
Compare commits
1 Commits
enable-pos
...
er/test-re
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0e5cf2e94a |
242
.github/workflows/release.yml
vendored
242
.github/workflows/release.yml
vendored
@@ -107,7 +107,7 @@ jobs:
|
|||||||
needs: [job-setup]
|
needs: [job-setup]
|
||||||
if: ${{ !inputs.only_docker }}
|
if: ${{ !inputs.only_docker }}
|
||||||
|
|
||||||
uses: dbt-labs/dbt-release/.github/workflows/release-prep.yml@main
|
uses: dbt-labs/dbt-release/.github/workflows/release-prep.yml@er/ubuntu-deprecation
|
||||||
|
|
||||||
with:
|
with:
|
||||||
sha: ${{ needs.job-setup.outputs.starting_sha }}
|
sha: ${{ needs.job-setup.outputs.starting_sha }}
|
||||||
@@ -119,152 +119,152 @@ jobs:
|
|||||||
|
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
log-outputs-bump-version-generate-changelog:
|
# log-outputs-bump-version-generate-changelog:
|
||||||
name: "[Log output] Bump package version, Generate changelog"
|
# name: "[Log output] Bump package version, Generate changelog"
|
||||||
if: ${{ !failure() && !cancelled() && !inputs.only_docker }}
|
# if: ${{ !failure() && !cancelled() && !inputs.only_docker }}
|
||||||
|
|
||||||
needs: [bump-version-generate-changelog]
|
# needs: [bump-version-generate-changelog]
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
# steps:
|
||||||
- name: Print variables
|
# - name: Print variables
|
||||||
run: |
|
# run: |
|
||||||
echo Final SHA : ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
# echo Final SHA : ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
||||||
echo Changelog path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
# echo Changelog path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
||||||
|
|
||||||
build-test-package:
|
# build-test-package:
|
||||||
name: Build, Test, Package
|
# name: Build, Test, Package
|
||||||
if: ${{ !failure() && !cancelled() && !inputs.only_docker }}
|
# if: ${{ !failure() && !cancelled() && !inputs.only_docker }}
|
||||||
needs: [job-setup, bump-version-generate-changelog]
|
# needs: [job-setup, bump-version-generate-changelog]
|
||||||
|
|
||||||
uses: dbt-labs/dbt-release/.github/workflows/build.yml@main
|
# uses: dbt-labs/dbt-release/.github/workflows/build.yml@main
|
||||||
|
|
||||||
with:
|
# with:
|
||||||
sha: ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
# sha: ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
||||||
version_number: ${{ inputs.version_number }}
|
# version_number: ${{ inputs.version_number }}
|
||||||
changelog_path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
# changelog_path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
||||||
build_script_path: "scripts/build-dist.sh"
|
# build_script_path: "scripts/build-dist.sh"
|
||||||
s3_bucket_name: "core-team-artifacts"
|
# s3_bucket_name: "core-team-artifacts"
|
||||||
package_test_command: "dbt --version"
|
# package_test_command: "dbt --version"
|
||||||
test_run: ${{ inputs.test_run }}
|
# test_run: ${{ inputs.test_run }}
|
||||||
nightly_release: ${{ inputs.nightly_release }}
|
# nightly_release: ${{ inputs.nightly_release }}
|
||||||
|
|
||||||
secrets:
|
# secrets:
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
|
|
||||||
github-release:
|
# github-release:
|
||||||
name: GitHub Release
|
# name: GitHub Release
|
||||||
if: ${{ !failure() && !cancelled() && !inputs.only_docker }}
|
# if: ${{ !failure() && !cancelled() && !inputs.only_docker }}
|
||||||
|
|
||||||
needs: [bump-version-generate-changelog, build-test-package]
|
# needs: [bump-version-generate-changelog, build-test-package]
|
||||||
|
|
||||||
uses: dbt-labs/dbt-release/.github/workflows/github-release.yml@main
|
# uses: dbt-labs/dbt-release/.github/workflows/github-release.yml@main
|
||||||
|
|
||||||
with:
|
# with:
|
||||||
sha: ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
# sha: ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
||||||
version_number: ${{ inputs.version_number }}
|
# version_number: ${{ inputs.version_number }}
|
||||||
changelog_path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
# changelog_path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
||||||
test_run: ${{ inputs.test_run }}
|
# test_run: ${{ inputs.test_run }}
|
||||||
|
|
||||||
pypi-release:
|
# pypi-release:
|
||||||
name: PyPI Release
|
# name: PyPI Release
|
||||||
|
|
||||||
needs: [github-release]
|
# needs: [github-release]
|
||||||
|
|
||||||
uses: dbt-labs/dbt-release/.github/workflows/pypi-release.yml@main
|
# uses: dbt-labs/dbt-release/.github/workflows/pypi-release.yml@main
|
||||||
|
|
||||||
with:
|
# with:
|
||||||
version_number: ${{ inputs.version_number }}
|
# version_number: ${{ inputs.version_number }}
|
||||||
test_run: ${{ inputs.test_run }}
|
# test_run: ${{ inputs.test_run }}
|
||||||
|
|
||||||
secrets:
|
# secrets:
|
||||||
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
# PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
||||||
TEST_PYPI_API_TOKEN: ${{ secrets.TEST_PYPI_API_TOKEN }}
|
# TEST_PYPI_API_TOKEN: ${{ secrets.TEST_PYPI_API_TOKEN }}
|
||||||
|
|
||||||
determine-docker-package:
|
# determine-docker-package:
|
||||||
# dbt-postgres exists within dbt-core for versions 1.7 and earlier but is a separate package for 1.8 and later.
|
# # dbt-postgres exists within dbt-core for versions 1.7 and earlier but is a separate package for 1.8 and later.
|
||||||
# determine if we need to release dbt-core or both dbt-core and dbt-postgres
|
# # determine if we need to release dbt-core or both dbt-core and dbt-postgres
|
||||||
name: Determine Docker Package
|
# name: Determine Docker Package
|
||||||
if: ${{ !failure() && !cancelled() }}
|
# if: ${{ !failure() && !cancelled() }}
|
||||||
runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
needs: [pypi-release]
|
# needs: [pypi-release]
|
||||||
outputs:
|
# outputs:
|
||||||
matrix: ${{ steps.determine-docker-package.outputs.matrix }}
|
# matrix: ${{ steps.determine-docker-package.outputs.matrix }}
|
||||||
steps:
|
# steps:
|
||||||
- name: "Audit Version And Parse Into Parts"
|
# - name: "Audit Version And Parse Into Parts"
|
||||||
id: semver
|
# id: semver
|
||||||
uses: dbt-labs/actions/parse-semver@v1.1.0
|
# uses: dbt-labs/actions/parse-semver@v1.1.0
|
||||||
with:
|
# with:
|
||||||
version: ${{ inputs.version_number }}
|
# version: ${{ inputs.version_number }}
|
||||||
|
|
||||||
- name: "Determine Packages to Release"
|
# - name: "Determine Packages to Release"
|
||||||
id: determine-docker-package
|
# id: determine-docker-package
|
||||||
run: |
|
# run: |
|
||||||
if [ ${{ steps.semver.outputs.minor }} -ge 8 ]; then
|
# if [ ${{ steps.semver.outputs.minor }} -ge 8 ]; then
|
||||||
json_output={\"package\":[\"dbt-core\"]}
|
# json_output={\"package\":[\"dbt-core\"]}
|
||||||
else
|
# else
|
||||||
json_output={\"package\":[\"dbt-core\",\"dbt-postgres\"]}
|
# json_output={\"package\":[\"dbt-core\",\"dbt-postgres\"]}
|
||||||
fi
|
# fi
|
||||||
echo "matrix=$json_output" >> $GITHUB_OUTPUT
|
# echo "matrix=$json_output" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
docker-release:
|
# docker-release:
|
||||||
name: "Docker Release for ${{ matrix.package }}"
|
# name: "Docker Release for ${{ matrix.package }}"
|
||||||
needs: [determine-docker-package]
|
# needs: [determine-docker-package]
|
||||||
# We cannot release to docker on a test run because it uses the tag in GitHub as
|
# # We cannot release to docker on a test run because it uses the tag in GitHub as
|
||||||
# what we need to release but draft releases don't actually tag the commit so it
|
# # what we need to release but draft releases don't actually tag the commit so it
|
||||||
# finds nothing to release
|
# # finds nothing to release
|
||||||
if: ${{ !failure() && !cancelled() && (!inputs.test_run || inputs.only_docker) }}
|
# if: ${{ !failure() && !cancelled() && (!inputs.test_run || inputs.only_docker) }}
|
||||||
strategy:
|
# strategy:
|
||||||
matrix: ${{fromJson(needs.determine-docker-package.outputs.matrix)}}
|
# matrix: ${{fromJson(needs.determine-docker-package.outputs.matrix)}}
|
||||||
|
|
||||||
permissions:
|
# permissions:
|
||||||
packages: write
|
# packages: write
|
||||||
|
|
||||||
uses: dbt-labs/dbt-release/.github/workflows/release-docker.yml@main
|
# uses: dbt-labs/dbt-release/.github/workflows/release-docker.yml@main
|
||||||
with:
|
# with:
|
||||||
package: ${{ matrix.package }}
|
# package: ${{ matrix.package }}
|
||||||
version_number: ${{ inputs.version_number }}
|
# version_number: ${{ inputs.version_number }}
|
||||||
test_run: ${{ inputs.test_run }}
|
# test_run: ${{ inputs.test_run }}
|
||||||
|
|
||||||
slack-notification:
|
# slack-notification:
|
||||||
name: Slack Notification
|
# name: Slack Notification
|
||||||
if: ${{ failure() && (!inputs.test_run || inputs.nightly_release) }}
|
# if: ${{ failure() && (!inputs.test_run || inputs.nightly_release) }}
|
||||||
|
|
||||||
needs:
|
# needs:
|
||||||
[
|
# [
|
||||||
bump-version-generate-changelog,
|
# bump-version-generate-changelog,
|
||||||
build-test-package,
|
# build-test-package,
|
||||||
github-release,
|
# github-release,
|
||||||
pypi-release,
|
# pypi-release,
|
||||||
docker-release,
|
# docker-release,
|
||||||
]
|
# ]
|
||||||
|
|
||||||
uses: dbt-labs/dbt-release/.github/workflows/slack-post-notification.yml@main
|
# uses: dbt-labs/dbt-release/.github/workflows/slack-post-notification.yml@main
|
||||||
with:
|
# with:
|
||||||
status: "failure"
|
# status: "failure"
|
||||||
|
|
||||||
secrets:
|
# secrets:
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEV_CORE_ALERTS }}
|
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEV_CORE_ALERTS }}
|
||||||
|
|
||||||
testing-slack-notification:
|
# testing-slack-notification:
|
||||||
# sends notifications to #slackbot-test
|
# # sends notifications to #slackbot-test
|
||||||
name: Testing - Slack Notification
|
# name: Testing - Slack Notification
|
||||||
if: ${{ failure() && inputs.test_run && !inputs.nightly_release }}
|
# if: ${{ failure() && inputs.test_run && !inputs.nightly_release }}
|
||||||
|
|
||||||
needs:
|
# needs:
|
||||||
[
|
# [
|
||||||
bump-version-generate-changelog,
|
# bump-version-generate-changelog,
|
||||||
build-test-package,
|
# build-test-package,
|
||||||
github-release,
|
# github-release,
|
||||||
pypi-release,
|
# pypi-release,
|
||||||
docker-release,
|
# docker-release,
|
||||||
]
|
# ]
|
||||||
|
|
||||||
uses: dbt-labs/dbt-release/.github/workflows/slack-post-notification.yml@main
|
# uses: dbt-labs/dbt-release/.github/workflows/slack-post-notification.yml@main
|
||||||
with:
|
# with:
|
||||||
status: "failure"
|
# status: "failure"
|
||||||
|
|
||||||
secrets:
|
# secrets:
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_TESTING_WEBHOOK_URL }}
|
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_TESTING_WEBHOOK_URL }}
|
||||||
|
|||||||
Reference in New Issue
Block a user