mirror of
https://github.com/dbt-labs/dbt-core
synced 2025-12-19 20:01: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]
|
||||
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:
|
||||
sha: ${{ needs.job-setup.outputs.starting_sha }}
|
||||
@@ -119,152 +119,152 @@ jobs:
|
||||
|
||||
secrets: inherit
|
||||
|
||||
log-outputs-bump-version-generate-changelog:
|
||||
name: "[Log output] Bump package version, Generate changelog"
|
||||
if: ${{ !failure() && !cancelled() && !inputs.only_docker }}
|
||||
# log-outputs-bump-version-generate-changelog:
|
||||
# name: "[Log output] Bump package version, Generate changelog"
|
||||
# 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:
|
||||
- name: Print variables
|
||||
run: |
|
||||
echo Final SHA : ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
||||
echo Changelog path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
||||
# steps:
|
||||
# - name: Print variables
|
||||
# run: |
|
||||
# echo Final SHA : ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
||||
# echo Changelog path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
||||
|
||||
build-test-package:
|
||||
name: Build, Test, Package
|
||||
if: ${{ !failure() && !cancelled() && !inputs.only_docker }}
|
||||
needs: [job-setup, bump-version-generate-changelog]
|
||||
# build-test-package:
|
||||
# name: Build, Test, Package
|
||||
# if: ${{ !failure() && !cancelled() && !inputs.only_docker }}
|
||||
# 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:
|
||||
sha: ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
||||
version_number: ${{ inputs.version_number }}
|
||||
changelog_path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
||||
build_script_path: "scripts/build-dist.sh"
|
||||
s3_bucket_name: "core-team-artifacts"
|
||||
package_test_command: "dbt --version"
|
||||
test_run: ${{ inputs.test_run }}
|
||||
nightly_release: ${{ inputs.nightly_release }}
|
||||
# with:
|
||||
# sha: ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
||||
# version_number: ${{ inputs.version_number }}
|
||||
# changelog_path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
||||
# build_script_path: "scripts/build-dist.sh"
|
||||
# s3_bucket_name: "core-team-artifacts"
|
||||
# package_test_command: "dbt --version"
|
||||
# test_run: ${{ inputs.test_run }}
|
||||
# nightly_release: ${{ inputs.nightly_release }}
|
||||
|
||||
secrets:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
# secrets:
|
||||
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
|
||||
github-release:
|
||||
name: GitHub Release
|
||||
if: ${{ !failure() && !cancelled() && !inputs.only_docker }}
|
||||
# github-release:
|
||||
# name: GitHub Release
|
||||
# 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:
|
||||
sha: ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
||||
version_number: ${{ inputs.version_number }}
|
||||
changelog_path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
||||
test_run: ${{ inputs.test_run }}
|
||||
# with:
|
||||
# sha: ${{ needs.bump-version-generate-changelog.outputs.final_sha }}
|
||||
# version_number: ${{ inputs.version_number }}
|
||||
# changelog_path: ${{ needs.bump-version-generate-changelog.outputs.changelog_path }}
|
||||
# test_run: ${{ inputs.test_run }}
|
||||
|
||||
pypi-release:
|
||||
name: PyPI Release
|
||||
# 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:
|
||||
version_number: ${{ inputs.version_number }}
|
||||
test_run: ${{ inputs.test_run }}
|
||||
# with:
|
||||
# version_number: ${{ inputs.version_number }}
|
||||
# test_run: ${{ inputs.test_run }}
|
||||
|
||||
secrets:
|
||||
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
||||
TEST_PYPI_API_TOKEN: ${{ secrets.TEST_PYPI_API_TOKEN }}
|
||||
# secrets:
|
||||
# PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
||||
# TEST_PYPI_API_TOKEN: ${{ secrets.TEST_PYPI_API_TOKEN }}
|
||||
|
||||
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.
|
||||
# determine if we need to release dbt-core or both dbt-core and dbt-postgres
|
||||
name: Determine Docker Package
|
||||
if: ${{ !failure() && !cancelled() }}
|
||||
runs-on: ubuntu-latest
|
||||
needs: [pypi-release]
|
||||
outputs:
|
||||
matrix: ${{ steps.determine-docker-package.outputs.matrix }}
|
||||
steps:
|
||||
- name: "Audit Version And Parse Into Parts"
|
||||
id: semver
|
||||
uses: dbt-labs/actions/parse-semver@v1.1.0
|
||||
with:
|
||||
version: ${{ inputs.version_number }}
|
||||
# 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.
|
||||
# # determine if we need to release dbt-core or both dbt-core and dbt-postgres
|
||||
# name: Determine Docker Package
|
||||
# if: ${{ !failure() && !cancelled() }}
|
||||
# runs-on: ubuntu-latest
|
||||
# needs: [pypi-release]
|
||||
# outputs:
|
||||
# matrix: ${{ steps.determine-docker-package.outputs.matrix }}
|
||||
# steps:
|
||||
# - name: "Audit Version And Parse Into Parts"
|
||||
# id: semver
|
||||
# uses: dbt-labs/actions/parse-semver@v1.1.0
|
||||
# with:
|
||||
# version: ${{ inputs.version_number }}
|
||||
|
||||
- name: "Determine Packages to Release"
|
||||
id: determine-docker-package
|
||||
run: |
|
||||
if [ ${{ steps.semver.outputs.minor }} -ge 8 ]; then
|
||||
json_output={\"package\":[\"dbt-core\"]}
|
||||
else
|
||||
json_output={\"package\":[\"dbt-core\",\"dbt-postgres\"]}
|
||||
fi
|
||||
echo "matrix=$json_output" >> $GITHUB_OUTPUT
|
||||
# - name: "Determine Packages to Release"
|
||||
# id: determine-docker-package
|
||||
# run: |
|
||||
# if [ ${{ steps.semver.outputs.minor }} -ge 8 ]; then
|
||||
# json_output={\"package\":[\"dbt-core\"]}
|
||||
# else
|
||||
# json_output={\"package\":[\"dbt-core\",\"dbt-postgres\"]}
|
||||
# fi
|
||||
# echo "matrix=$json_output" >> $GITHUB_OUTPUT
|
||||
|
||||
docker-release:
|
||||
name: "Docker Release for ${{ matrix.package }}"
|
||||
needs: [determine-docker-package]
|
||||
# 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
|
||||
# finds nothing to release
|
||||
if: ${{ !failure() && !cancelled() && (!inputs.test_run || inputs.only_docker) }}
|
||||
strategy:
|
||||
matrix: ${{fromJson(needs.determine-docker-package.outputs.matrix)}}
|
||||
# docker-release:
|
||||
# name: "Docker Release for ${{ matrix.package }}"
|
||||
# needs: [determine-docker-package]
|
||||
# # 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
|
||||
# # finds nothing to release
|
||||
# if: ${{ !failure() && !cancelled() && (!inputs.test_run || inputs.only_docker) }}
|
||||
# strategy:
|
||||
# matrix: ${{fromJson(needs.determine-docker-package.outputs.matrix)}}
|
||||
|
||||
permissions:
|
||||
packages: write
|
||||
# permissions:
|
||||
# packages: write
|
||||
|
||||
uses: dbt-labs/dbt-release/.github/workflows/release-docker.yml@main
|
||||
with:
|
||||
package: ${{ matrix.package }}
|
||||
version_number: ${{ inputs.version_number }}
|
||||
test_run: ${{ inputs.test_run }}
|
||||
# uses: dbt-labs/dbt-release/.github/workflows/release-docker.yml@main
|
||||
# with:
|
||||
# package: ${{ matrix.package }}
|
||||
# version_number: ${{ inputs.version_number }}
|
||||
# test_run: ${{ inputs.test_run }}
|
||||
|
||||
slack-notification:
|
||||
name: Slack Notification
|
||||
if: ${{ failure() && (!inputs.test_run || inputs.nightly_release) }}
|
||||
# slack-notification:
|
||||
# name: Slack Notification
|
||||
# if: ${{ failure() && (!inputs.test_run || inputs.nightly_release) }}
|
||||
|
||||
needs:
|
||||
[
|
||||
bump-version-generate-changelog,
|
||||
build-test-package,
|
||||
github-release,
|
||||
pypi-release,
|
||||
docker-release,
|
||||
]
|
||||
# needs:
|
||||
# [
|
||||
# bump-version-generate-changelog,
|
||||
# build-test-package,
|
||||
# github-release,
|
||||
# pypi-release,
|
||||
# docker-release,
|
||||
# ]
|
||||
|
||||
uses: dbt-labs/dbt-release/.github/workflows/slack-post-notification.yml@main
|
||||
with:
|
||||
status: "failure"
|
||||
# uses: dbt-labs/dbt-release/.github/workflows/slack-post-notification.yml@main
|
||||
# with:
|
||||
# status: "failure"
|
||||
|
||||
secrets:
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEV_CORE_ALERTS }}
|
||||
# secrets:
|
||||
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEV_CORE_ALERTS }}
|
||||
|
||||
testing-slack-notification:
|
||||
# sends notifications to #slackbot-test
|
||||
name: Testing - Slack Notification
|
||||
if: ${{ failure() && inputs.test_run && !inputs.nightly_release }}
|
||||
# testing-slack-notification:
|
||||
# # sends notifications to #slackbot-test
|
||||
# name: Testing - Slack Notification
|
||||
# if: ${{ failure() && inputs.test_run && !inputs.nightly_release }}
|
||||
|
||||
needs:
|
||||
[
|
||||
bump-version-generate-changelog,
|
||||
build-test-package,
|
||||
github-release,
|
||||
pypi-release,
|
||||
docker-release,
|
||||
]
|
||||
# needs:
|
||||
# [
|
||||
# bump-version-generate-changelog,
|
||||
# build-test-package,
|
||||
# github-release,
|
||||
# pypi-release,
|
||||
# docker-release,
|
||||
# ]
|
||||
|
||||
uses: dbt-labs/dbt-release/.github/workflows/slack-post-notification.yml@main
|
||||
with:
|
||||
status: "failure"
|
||||
# uses: dbt-labs/dbt-release/.github/workflows/slack-post-notification.yml@main
|
||||
# with:
|
||||
# status: "failure"
|
||||
|
||||
secrets:
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_TESTING_WEBHOOK_URL }}
|
||||
# secrets:
|
||||
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_TESTING_WEBHOOK_URL }}
|
||||
|
||||
Reference in New Issue
Block a user