diff --git a/.github/workflows/release-github.yaml b/.github/workflows/release-github.yaml new file mode 100644 index 000000000..b7135b67f --- /dev/null +++ b/.github/workflows/release-github.yaml @@ -0,0 +1,57 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: release-github + +# Runs on airshipctl non-pre-releases +on: + push: + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + +jobs: + release-github: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Download release notes utility + run: | + sudo npm install github-release-notes@0.17.1 -g + - name: Generate release notes + run: | + TAG_NAME=${TAG##*/} + gren changelog --override --generate \ + --username airshipit --repo airshipctl \ + --changelog-filename release-notes.md \ + --token "$GITHUB_TOKEN" \ + --tags "$TAG_NAME" \ + --data-source milestones \ + --milestone-match '{{tag_name}}' \ + --debug + cat release-notes.md + env: + TAG: ${{ github.ref }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Setup Go + uses: actions/setup-go@v2 + with: + go-version: 1.13.x + - name: Generate binaries and create github release + uses: goreleaser/goreleaser-action@v1 + with: + version: latest + args: release --release-notes=release-notes.md --skip-validate --debug + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release-image.yaml similarity index 63% rename from .github/workflows/release.yaml rename to .github/workflows/release-image.yaml index 0a52c13b0..1414e38d6 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release-image.yaml @@ -10,11 +10,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: release +name: release-image -# Expects git tags in the following formats: -# airshipctl: v1.2.3 (no prefix) -# krm functions: -v1.2.3 e.g. replacement-transformer-v1.2.3 +# Expects release git tags in the following formats: +# airshipctl: v1.2.3-beta.1 (no prefix) +# krm functions: -v1.2.3-beta.1 on: push: tags: @@ -86,41 +86,3 @@ jobs: IMG: ${{ format('quay.io/airshipit/{0}', steps.semver_tags.outputs.IMG) }} SOURCE: ${{ github.sha }} TARGETS: ${{ steps.semver_tags.outputs.TAGS }} - - release-github: - # Only create github releases for airshipctl (unprefixed semver tag), not krm functions. - if: ${{ startsWith(github.ref, 'refs/tags/v') }} - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Download release notes utility - run: | - sudo npm install github-release-notes@0.17.1 -g - - name: Generate release notes - run: | - TAG_NAME=${TAG##*/} - gren changelog --override --generate \ - --username airshipit --repo airshipctl \ - --changelog-filename release-notes.md \ - --token "$GITHUB_TOKEN" \ - --tags "$TAG_NAME" \ - --ignore-tags-with '^(?!v\d)' `# only consider semver tags without krm function prefix when finding previous tag` \ - --debug - cat release-notes.md - env: - TAG: ${{ github.ref }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: 1.13.x - - name: Generate binaries and create github release - uses: goreleaser/goreleaser-action@v1 - with: - version: latest - args: release --release-notes=release-notes.md --skip-validate --debug - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}