-
Notifications
You must be signed in to change notification settings - Fork 0
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
Update main.yml for Ubuntu and macOS versions, and add tag.yml for versioning #289
Conversation
WalkthroughThis pull request updates the CI/CD workflow configuration and introduces a new workflow. The main workflow file is modified to upgrade operating system versions, Node.js version, and update the Firefox installation archive format. Additionally, a new workflow is added to automate version bumping, tagging, and release creation on pushes to the main branch. Changes
Sequence Diagram(s)sequenceDiagram
participant Repo as Repository
participant TagWF as Tag Workflow
participant Checkout as Checkout Action
participant Bump as Version Bump Action
participant Release as Release Action
Repo->>TagWF: Push to main branch
TagWF->>Checkout: Checkout full repository code
Checkout-->>TagWF: Code checked out
TagWF->>Bump: Bump version and push tag
Bump-->>TagWF: Tag created
TagWF->>Release: Create a GitHub release using new tag
Release-->>TagWF: Release published
Poem
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/main.yml
(6 hunks).github/workflows/tag.yml
(1 hunks)
🔇 Additional comments (9)
.github/workflows/main.yml (5)
20-20
: Update Linux OS version is correctly applied.
The matrix now specifiesubuntu-24.04
which aligns with the intended environment upgrade.
32-34
: Node.js version upgrade validated.
The update tonode-version: 22
correctly reflects the new requirement. Ensure that all dependent Node modules are compatible with this version.
68-69
: macOS environment update confirmed.
The macOS job now usesmacos-15
, which meets the updated requirements.
82-83
: macOS Node.js version upgrade is correct.
The change tonode-version: 22
is consistently applied here as well.
117-120
: Windows Node.js version is updated accordingly.
The Windows job now uses Node.js version 22, ensuring consistency across CI environments..github/workflows/tag.yml (4)
1-9
: New tagging workflow added.
The new workflow (Bump & Tag
) is structured to trigger on pushes to themain
branch and runs onubuntu-24.04
. The job steps, including code checkout and version bumping (usingmathieudutour/github-tag-action@v6.2
), are clearly organized and align with best practices for automating version management.
10-16
: Checkout step configuration is solid.
The checkout step uses a fetch-depth of 0, ensuring that the full history is available for accurate version bumping and tagging.
17-22
: Version bumping step validated.
Usingmathieudutour/github-tag-action@v6.2
with the GitHub token from secrets is an effective approach. No immediate issues found.
23-28
: Release creation step is correctly configured.
The release action correctly references the output from the tagging step for tag, name, and changelog. This automation will streamline your release process.
if: matrix.browser == 'firefox' | ||
run: | | ||
wget -qO ~/Firefox.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64" | ||
sudo tar xjf ~/Firefox.tar.bz2 -C /opt/ | ||
wget -qO ~/Firefox.tar.xz "https://download.mozilla.org/?product=firefox-latest&os=linux64" | ||
sudo tar xjf ~/Firefox.tar.xz -C /opt/ | ||
sudo ln -svf /opt/firefox/firefox /usr/bin/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Firefox extraction flag may require update.
The workflow now downloads the Firefox archive in .tar.xz
format (line 51), but the extraction command on line 52 uses the xjf
flag which is intended for bzip2 archives. For .tar.xz
archives, please update the command to use the xJf
flag. For example:
- sudo tar xjf ~/Firefox.tar.xz -C /opt/
+ sudo tar xJf ~/Firefox.tar.xz -C /opt/
This change ensures correct extraction of the xz-compressed archive.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
if: matrix.browser == 'firefox' | |
run: | | |
wget -qO ~/Firefox.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64" | |
sudo tar xjf ~/Firefox.tar.bz2 -C /opt/ | |
wget -qO ~/Firefox.tar.xz "https://download.mozilla.org/?product=firefox-latest&os=linux64" | |
sudo tar xjf ~/Firefox.tar.xz -C /opt/ | |
sudo ln -svf /opt/firefox/firefox /usr/bin/ | |
if: matrix.browser == 'firefox' | |
run: | | |
wget -qO ~/Firefox.tar.xz "https://download.mozilla.org/?product=firefox-latest&os=linux64" | |
sudo tar xJf ~/Firefox.tar.xz -C /opt/ | |
sudo ln -svf /opt/firefox/firefox /usr/bin/ |
Summary by CodeRabbit
Chores
New Features