Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: automate tagging an releasing #81

Merged
merged 143 commits into from
May 20, 2024
Merged

Conversation

j-i-l
Copy link
Collaborator

@j-i-l j-i-l commented Apr 16, 2024

Closes #25

Closes #12

Closes #8

Closes #77

Closes #79

Closes #83

Closes #26


We need the following workflows:

@j-i-l j-i-l self-assigned this Apr 16, 2024
@j-i-l j-i-l marked this pull request as ready for review April 16, 2024 14:48
@j-i-l
Copy link
Collaborator Author

j-i-l commented Apr 16, 2024

publish_release.yml runs as expected.
Now we should only trigger it on commits to main and if CRAN-like action succeeds.

@j-i-l
Copy link
Collaborator Author

j-i-l commented Apr 16, 2024

up next let's consolidate the actions pipelines.

@matteodelucchi
Copy link
Contributor

The checks in #85 fail because of an issue with pulling the containers (see here). Is this related to this PR?

@j-i-l
Copy link
Collaborator Author

j-i-l commented Apr 23, 2024

The checks in #85 fail because of an issue with pulling the containers (see here). Is this related to this PR?

Nope, this was related to my doings around furrer-lab/r-containers#28. I had accidentally deleted the latest-tagged containers, thus requesting them would lead to a failure in the container initialization.

In #85 now the url check leads to a failure of the quick tests pipeline. Including changes from main will update the testing setup (url check moved to CRAN-like checks and is allowed to fail, since it has issues on its own).

@j-i-l
Copy link
Collaborator Author

j-i-l commented Apr 25, 2024

I see the following requirements for our version release pipeline:

  1. Adhere to versioning standards - semver in this case
  2. Use git tags as single source of
    truth for the versioning
  3. Allow to include information about the version in the code-base itself
  4. Allow to run and address resulting issues of designated pre-release tests (and potentially other worklfows)
  5. Include the released state of the repository in the reference branch

I went ahead and set up a toy repository that implements a half-way (actually mostly) automated pipeline that allows to address these requirements:

https://github.com/t4d-gmbh/stubbed_versioning

@j-i-l
Copy link
Collaborator Author

j-i-l commented Apr 26, 2024

Allow to add artifacts when running the release- branch actions > generate .tar.gz for CRAN

Delete the release-.. branch after merge (recreate it from the cleaned tag if needed)

@matteodelucchi
Copy link
Contributor

Screenshot from 2024-04-26 12-39-48

@j-i-l
Copy link
Collaborator Author

j-i-l commented Apr 30, 2024

With #87 (addressing #26) we will have all the steps ready. I'll start to distribute them afterwards.

@matteodelucchi
Copy link
Contributor

Screenshot from 2024-04-26 12-39-48

On development branch, run tests conditionally on where changes were done. See #83.

j-i-l added a commit that referenced this pull request May 2, 2024
j-i-l added a commit that referenced this pull request May 2, 2024
* startied with slow check using gct and valgrind

* syntax fix in setenv

* bug fix; forgot interpreter

* running with gct only

* typo in Rshell

* build with flags; adding single file test

* fixing formatting

* docker is root anyways

* adding TODO for #81
@j-i-l
Copy link
Collaborator Author

j-i-l commented May 20, 2024

targeted testing seems to work

@j-i-l
Copy link
Collaborator Author

j-i-l commented May 20, 2024

ok, targeted testing works as expected!

@j-i-l j-i-l force-pushed the streamline-release-process branch from a92246f to d8a7894 Compare May 20, 2024 01:56
@j-i-l
Copy link
Collaborator Author

j-i-l commented May 20, 2024

Now only #50 remains. I'm going to move this out of the pr and resolve it as some later point.

@j-i-l
Copy link
Collaborator Author

j-i-l commented May 20, 2024

@matteodelucchi There is now a protection rule for pr, they require the job R_CMD_check_passed to succeed. This pr should (in a few hours) have this check ready.

Then the pr should be ready to be merged, just go ahead an merge it.

Then you can push a tag 3.0.8-rc2 to the main branch. After a while a new pull request should pop-up that wants to merge the branch release-3.0.8 into main. Also there will be a few tests that start running. You might want to adapt the NEWS.md file that was changed automatically.

If you then merge this newly created pull request back to main, we have our version ready for submission. 👍

@j-i-l j-i-l requested a review from matteodelucchi May 20, 2024 02:16
@j-i-l j-i-l merged commit 4348a2b into main May 20, 2024
32 of 33 checks passed
@matteodelucchi matteodelucchi deleted the streamline-release-process branch May 22, 2024 10:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment