Skip to content

release: bump exonr #23

release: bump exonr

release: bump exonr #23

Workflow file for this run

name: Release R
# Build on push to tags match exonr-v*
on:
push:
tags:
- 'exonr-*'
permissions:
id-token: write
contents: write
jobs:
prep_release:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.version.outputs.version }}
prerelease: ${{ steps.version.outputs.prerelease }}
steps:
- uses: actions/checkout@v4
# https://github.com/getdozer/dozer/blob/main/.github/workflows/release.yaml
- name: Get the tag
id: version
run: |
tag=$(printf "%q" ${{ github.ref_name }})
if [[ $tag =~ ^exonr-v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "version=$tag" >> $GITHUB_OUTPUT
echo "prerelease=false" >> $GITHUB_OUTPUT
else
echo "version=$tag" >> $GITHUB_OUTPUT
echo "prerelease=true" >> $GITHUB_OUTPUT
fi
release-r:
runs-on: ${{ matrix.os }}
name: Build R Release
needs: [prep_release]
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
r: release
- os: macos-latest
r: release
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/r_setup
- shell: Rscript {0}
working-directory: ./exon-r/exonr/
run: |
fn = devtools::build(binary = TRUE, args = c('--preclean'))
newfn = paste0(substr(fn, 1, regexpr("_", fn)), R.version$platform, ".", tools::file_ext(fn))
print(paste0("Renaming ", fn, " to ", newfn))
file.rename(fn, newfn)
- name: Upload build artifact
uses: actions/upload-artifact@v2
with:
name: exonr-${{ matrix.os }}-${{ matrix.r }}
path: exon-r/exonr_*
- name: Upload the release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: exon-r/exonr_*
file_glob: true
overwrite: true
tag: ${{ needs.prep_release.outputs.version }}
release_name: 'Release - ${{ needs.prep_release.outputs.version }}'
prerelease: ${{ needs.prep_release.outputs.prerelease }}