diff --git a/.Rbuildignore b/.Rbuildignore index 26f5c15..c1583de 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -1 +1,2 @@ .github +^cran-comments\.md$ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..b11399a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,50 @@ +name: release +on: + push: + branches: [main] +jobs: + test: + name: Test for release + if: startsWith(github.event.head_commit.message, '[release:minor]') || + startsWith(github.event.head_commit.message, '[release:major]') || + startsWith(github.event.head_commit.message, '[release:patch]') + uses: flowr-analysis/flowr-r-adapter/.github/workflows/test.yml@main + + release: + runs-on: ubuntu-latest + needs: [test] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + token: ${{ secrets.RELEASE_TOKEN }} + - name: Configure git user + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + + - name: Install R + uses: r-lib/actions/setup-r@v2 + with: + r-version: ${{ matrix.r-version }} + - name: Install dependencies + uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: devtools, usethis + + - name: Bump version + id: version + run: | + step=$(echo "$MESSAGE" | sed -n -E 's/\[release:(patch|minor|major)].*/\1/p') + if [ -z "$step" ]; then + echo "fatal: Release step not found in commit message." + exit 1 + fi + + Rscript -e "usethis::use_version(\"$step\", push = TRUE)" + env: + # putting the message into an env variable first sanitizes it + MESSAGE: ${{ github.event.head_commit.message }} + + - name: GitHub release + run: Rscript -e 'usethis::use_github_release()' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 29784cb..3569ead 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,6 +4,7 @@ on: pull_request: types: [opened, synchronize] branches: [main] + workflow_call: jobs: devtools-check: strategy: diff --git a/NEWS.md b/NEWS.md new file mode 100644 index 0000000..204cddb --- /dev/null +++ b/NEWS.md @@ -0,0 +1,3 @@ +# flowr 0.0.1 + +* Added a `NEWS.md` file to track changes to the package. diff --git a/cran-comments.md b/cran-comments.md new file mode 100644 index 0000000..858617d --- /dev/null +++ b/cran-comments.md @@ -0,0 +1,5 @@ +## R CMD check results + +0 errors | 0 warnings | 1 note + +* This is a new release.