Skip to content

Check against undefined array items for core submissions (#479) #73

Check against undefined array items for core submissions (#479)

Check against undefined array items for core submissions (#479) #73

name: After branch commit
on:
push:
branches:
- master
- rc
jobs:
check-version-level-and-update:
if: github.repository == 'oncokb/oncokb-transcript'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Update Version Level'
run: |
git pull
VERSION_LEVEL=$(cat .version-level | tr "[:upper:]" "[:lower:]")
RELEASE_DRAFTER_MINOR='NEXT_MINOR_VERSION'
RELEASE_DRAFTER_PATCH='NEXT_PATCH_VERSION'
if [[ $VERSION_LEVEL == 'minor' ]]; then
sed -i "s/$RELEASE_DRAFTER_PATCH/$RELEASE_DRAFTER_MINOR/gi" .github/release-drafter.yml
fi
if [[ $VERSION_LEVEL == 'patch' ]]; then
sed -i "s/$RELEASE_DRAFTER_MINOR/$RELEASE_DRAFTER_PATCH/gi" .github/release-drafter.yml
fi
CHANGED=$(git diff --name-only HEAD --)
if [ -n "$CHANGED" ]
then
git config user.name oncokb-bot
git config user.email [email protected]
git add .
git commit -m "Update action files to align the version level to $VERSION_LEVEL"
git push
fi
update-draft-release:
needs: [check-version-level-and-update]
if: github.repository == 'oncokb/oncokb-transcript'
runs-on: ubuntu-latest
steps:
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
update-pom:
needs: [check-version-level-and-update]
if: github.repository == 'oncokb/oncokb-transcript'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Extract branch name
id: extract_branch
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
- name: Find previous release
id: find_release
uses: actions/github-script@v7
with:
script: |
const branch = '${{ steps.extract_branch.outputs.branch }}';
console.log('Looking for a latest release that is based on branch: ${{ steps.extract_branch.outputs.branch }}');
const releases = await github.rest.repos.listReleases({
owner: context.repo.owner,
repo: context.repo.repo,
});
const release = releases.data.find(r => (r.target_commitish === branch || r.target_commitish === `refs/heads/${branch}`) && !r.draft);
if (release) {
core.setOutput('tag', release.tag_name);
} else {
core.setFailed("No tag available, fail the action.");
}
- name: 'Get next semantic versions'
id: semvers
uses: "WyriHaximus/github-action-next-semvers@v1"
with:
version: ${{ steps.find_release.outputs.tag }}
- name: 'Setup Java'
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: 'Get Current Version Level'
id: version_level
run: |
VERSION_LEVEL=$(cat .version-level | tr "[:upper:]" "[:lower:]")
echo "::set-output name=VERSION_LEVEL::$VERSION_LEVEL"
- name: 'Update Pom'
if: ${{ success() }}
env:
NEW_VERSION: ${{ steps.version_level.outputs.VERSION_LEVEL == 'minor' && steps.semvers.outputs.minor || steps.semvers.outputs.patch}}
run: |
echo "${NEW_VERSION}"
git pull
mvn --batch-mode versions:set -DnewVersion=${NEW_VERSION} -DgenerateBackupPoms=false
CHANGED=$(git diff --name-only HEAD --)
if [ -n "$CHANGED" ]
then
git config user.name oncokb-bot
git config user.email [email protected]
git add .
git commit -m 'Update pom version'
git push
fi