Merge pull request #677 from open-amt-cloud-toolkit/dependabot/github… #410
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
#********************************************************************* | |
# Copyright (c) Intel Corporation 2023 | |
# SPDX-License-Identifier: Apache-2.0 | |
#*********************************************************************/ | |
# This workflow will release new versions when required using semantic-release | |
name: Semantic-Release CI | |
on: | |
push: | |
branches: [ main ] | |
permissions: | |
contents: read | |
jobs: | |
release: | |
permissions: | |
contents: write # for Git to git push | |
runs-on: ubuntu-latest | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1 | |
with: | |
egress-policy: audit | |
- name: Checkout repository | |
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
with: | |
persist-credentials: false | |
- name: Docker Login | |
if: ${{ github.ref == 'refs/heads/main' }} | |
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 | |
with: | |
registry: vprodemo.azurecr.io | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
logout: true | |
- name: Install go-licenses | |
run: | | |
go install github.com/google/go-licenses@latest | |
echo "PATH=$PATH:$(go env GOPATH)/bin" >> $GITHUB_ENV | |
- name: Semantic Release | |
uses: cycjimmy/semantic-release-action@b1b432f13acb7768e0c8efdec416d363a57546f2 # v4.1.1 | |
with: | |
semantic_version: 19.0.5 # It is recommended to specify specifying version range | |
# for semantic-release. | |
extra_plugins: | | |
@semantic-release/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.ROSIE_TOKEN }} | |
# the .nextVersion file will be created by semantic-release | |
- name: Get Next Version | |
id: version | |
run: | | |
if [ -f .nextVersion ]; then | |
echo "next=$(cat .nextVersion)" >> "$GITHUB_OUTPUT" | |
else | |
echo "next=none" >> "$GITHUB_OUTPUT" | |
fi | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
if: ${{ steps.version.outputs.next != 'none' }} | |
with: | |
repository: open-amt-cloud-toolkit/e2e-testing | |
ref: docker-release | |
clean: true | |
token: ${{ secrets.DOCKER_RELEASE_PAT }} | |
- name: Create docker-release @ ${{ steps.version.outputs.next }} | |
if: ${{ steps.version.outputs.next != 'none' }} | |
env: | |
RELEASE_YAML: release/rpc-go.yml | |
NEXT_VERSION: ${{ steps.version.outputs.next }} | |
run: | | |
echo "Releasing ${{ github.repository }}@$NEXT_VERSION" | |
if [ "$NEXT_VERSION" != "" ]; then | |
CURRENT_VERSION=$(sed -nre 's/(.*):v[0-9]*(([0-9]+\.)*[0-9]+).*/v\2/p' $RELEASE_YAML) | |
sed -i "s/$CURRENT_VERSION/$NEXT_VERSION/g" $RELEASE_YAML | |
echo "=========================" | |
git config --local user.email "github-actions[bot]@users.noreply.github.com" | |
git config --local user.name "github-actions[bot]" | |
git status | |
git add . | |
git commit -m "release(rpc-go): automated release of $NEXT_VERSION @ ${GITHUB_SHA::7}" | |
git push origin docker-release | |
fi |