# Copyright 2023 Google LLC # # 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: | Create a new release on: workflow_dispatch: inputs: version: description: "Release version" required: true changelog: description: "I have updated the CHANGELOG" required: true type: boolean permissions: contents: write jobs: release: name: "Release new version" runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: "Validate input" run: | [[ "${{ github.event.inputs.changelog }}" != "true" ]] && { echo 'You didn''t update the changelog.' ; exit 1; } [[ -n "${{ github.event.inputs.version }}" ]] || { echo 'Version not specified!'; exit 1; } [[ "${{ github.event.inputs.version }}" != v* ]] && { echo 'Version does not start with v!' ; exit 1; } - uses: actions/setup-go@v3 with: go-version: "1.16" - name: "Update all module names" run: | cd tools/tfeditor go build . ./tfeditor -path ../.. -module-name "google-pso-tool/cloud-foundation-fabric/{{ .Module }}/${{ github.event.inputs.version }}" cd ../.. git config --global user.name "Release Automation" git config --global user.email "cloud-foundation-fabric@google.com" git commit -a -m "Release version ${{ github.event.inputs.version }}" git push origin master - name: "Tag and release" run: | git tag ${{ github.event.inputs.version }} git push origin ${{ github.event.inputs.version }}