Skip to content

Fix/interpreter/user defined value condition #1565

Fix/interpreter/user defined value condition

Fix/interpreter/user defined value condition #1565

Workflow file for this run

name: Release
on:
pull_request:
branches:
- master
types:
- closed
- labeled
- opened
- reopened
- synchronize
- unlabeled
concurrency: release
jobs:
release:
name: Release
runs-on: ubuntu-22.04
permissions:
actions: write
checks: write
contents: write
deployments: write
issues: write
packages: write
pull-requests: write
repository-projects: write
security-events: write
statuses: write
timeout-minutes: 10
container: ros:humble
outputs:
new_version: ${{ steps.new_version.outputs.new_version }}
steps:
- name: Restore branch
uses: levonet/action-restore-branch@master
- name: Install bloom
run: apt update && apt install -y python3-bloom git
- name: Checkout
uses: actions/checkout@v4
with:
ref: master
fetch-depth: 0
fetch-tags: true
- name: Setup git
run: |
git config --global user.name "Release Bot"
git config --global user.email "action@github.com"
git config --global --add safe.directory /__w/scenario_simulator_v2/scenario_simulator_v2
git config --global credential.helper ${{ secrets.GITHUB_TOKEN }}
git config pull.rebase false
- name: Get old version
id: old_version
run: |
echo "old_version=$(catkin_package_version)" >> $GITHUB_OUTPUT
- name: Merge branch
run: git pull origin ${{ github.head_ref }}
- name: Bump patch version
if: (contains(github.event.pull_request.labels.*.name, 'bump patch'))
run: |
catkin_generate_changelog -y
catkin_tag_changelog --bump patch
catkin_package_version --bump patch
- name: Bump minor version
if: (contains(github.event.pull_request.labels.*.name, 'bump minor'))
run: |
catkin_generate_changelog -y
catkin_tag_changelog --bump minor
catkin_package_version --bump minor
- name: Bump major version
if: (contains(github.event.pull_request.labels.*.name, 'bump major'))
run: |
catkin_generate_changelog -y
catkin_tag_changelog --bump major
catkin_package_version --bump major
- name: Get new version
id: new_version
run: |
echo "new_version=$(catkin_package_version)" >> $GITHUB_OUTPUT
- name: Commit changes
if: github.event.pull_request.merged == true
run: |
git add .
git commit -m "Bump version of scenario_simulator_v2 from version ${{ steps.old_version.outputs.old_version }} to version ${{ steps.new_version.outputs.new_version }}"
- name: Pushing to the protected branch 'master'
if: github.event.pull_request.merged == true
uses: CasperWA/push-protected@v2
with:
token: ${{ secrets.BLOOM_GITHUB_TOKEN }}
branch: master
force: true
- name: Get linked issues
id: linked_issues
uses: hossainemruz/linked-issues@main
with:
pr_url: ${{github.event.pull_request.html_url}}
format: ExternalIssueRef
continue-on-error: true
- name: Update release description
env:
PULL_REQUEST_BODY: ${{ github.event.pull_request.body }}
run: |
echo "$PULL_REQUEST_BODY" >> release_description.txt
echo "" >> release_description.txt
echo "# Related Issues " >> release_description.txt
echo "${{ steps.linked_issues.outputs.issues }}" >> release_description.txt
- name: Get release description
id: get_release_description
uses: mathiasvr/command-output@v2.0.0
with:
run: cat release_description.txt
- name: Create a GitHub release
if: github.event.pull_request.merged == true
uses: ncipollo/release-action@v1
with:
tag: ${{ steps.new_version.outputs.new_version }}
name: ${{ steps.new_version.outputs.new_version }}
body: ${{ steps.get_release_description.outputs.stdout }}
- name: Delete branch if merged
if: github.event.pull_request.merged == true
uses: actions/github-script@v5
with:
script: |
github.rest.git.deleteRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `heads/${context.payload.pull_request.head.ref}`,
})
push_docker:
needs: release
name: Push Docker Image
runs-on: ubuntu-22.04
timeout-minutes: 720
strategy:
matrix:
rosdistro: [humble]
arch: [amd64]
# Build test for arm64 CPU is broken.
# This is a temporary solution and will be repaired in the future.
# See also https://github.com/tier4/scenario_simulator_v2/pull/1295
# arch: [amd64, arm64]
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
- name: Install docker for ubuntu runner
uses: docker/setup-buildx-action@v3
- name: Install QEMU
uses: docker/setup-qemu-action@v3
- uses: actions/checkout@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push (${{ matrix.arch }})
uses: docker/bake-action@v3
with:
files: |
./docker-bake.hcl
workdir: .
set: |
*.cache-to=type=gha,mode=max
*.cache-from=type=gha
*.tags=ghcr.io/tier4/scenario_simulator_v2:humble-${{ needs.release.outputs.new_version }}
push: ${{ github.event.pull_request.merged == true }}
targets: |
${{ matrix.rosdistro }}_base_${{ matrix.arch }}