-
-
Notifications
You must be signed in to change notification settings - Fork 923
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1960 from DioxusLabs/jk/05-pre
autorelease workflow
- Loading branch information
Showing
23 changed files
with
534 additions
and
422 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
# Runs whenever a PR is merged: | ||
# - attempt to backports fixes | ||
# - upload nightly docs | ||
# | ||
# Future: | ||
# - upload nightly CLI builds | ||
# - upload nightly vscode extension | ||
# - upload benchmarks | ||
# - compute coverge | ||
# | ||
# Note that direct commits to master circumvent this workflow! | ||
|
||
name: Backport merged pull request | ||
on: | ||
pull_request_target: | ||
types: [closed] | ||
|
||
permissions: | ||
contents: write # so it can comment | ||
pull-requests: write # so it can create pull requests | ||
|
||
jobs: | ||
# Attempt to backport a merged pull request to the latest stable release | ||
backport: | ||
name: Backport pull request | ||
runs-on: ubuntu-latest | ||
|
||
# Don't run on closed unmerged pull requests, or pull requests with the "breaking" label | ||
if: github.event.pull_request.merged && !contains(github.event.pull_request.labels.*.name, 'breaking') | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Create backport pull requests | ||
uses: korthout/backport-action@v2 | ||
|
||
# Upload nightly docs to the website | ||
docs: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: sudo apt-get update | ||
- run: sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev libxdo-dev | ||
- uses: dtolnay/rust-toolchain@nightly | ||
with: | ||
toolchain: nightly-2024-02-01 | ||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
cache-all-crates: "true" | ||
save-if: ${{ github.ref == 'refs/heads/main' }} | ||
- uses: ilammy/setup-nasm@v1 | ||
|
||
- name: cargo doc | ||
run: cargo doc --no-deps --workspace --all-features | ||
|
||
- name: Deploy | ||
uses: JamesIves/[email protected] | ||
with: | ||
branch: gh-pages | ||
folder: target/doc | ||
target-folder: api-docs/nightly | ||
repository-name: dioxuslabs/docsite | ||
clean: false | ||
token: ${{ secrets.DEPLOY_KEY }} | ||
|
||
# Attempt to backport a merged pull request to the latest stable release | ||
# | ||
# If the backported PR is succesfully merged | ||
# Any PR without the "breaking" label will be attempted to be backported to the latest stable release | ||
|
||
# Coverage is disabled until we can fix it | ||
# coverage: | ||
# name: Coverage | ||
# runs-on: ubuntu-latest | ||
# container: | ||
# image: xd009642/tarpaulin:develop-nightly | ||
# options: --security-opt seccomp=unconfined | ||
# steps: | ||
# - name: Checkout repository | ||
# uses: actions/checkout@v4 | ||
# - name: Generate code coverage | ||
# run: | | ||
# apt-get update &&\ | ||
# apt-get install build-essential &&\ | ||
# apt install libwebkit2gtk-4.0-dev libgtk-3-dev libayatana-appindicator3-dev -y &&\ | ||
# cargo +nightly tarpaulin --verbose --all-features --workspace --timeout 120 --out Xml | ||
# - name: Upload to codecov.io | ||
# uses: codecov/codecov-action@v2 | ||
# with: | ||
# fail_ci_if_error: false | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Create a PR that promotes the current main pre-release to the next stable release | ||
# | ||
# IE if the current master version is 0.4.0-rc.7, this will create a PR to promote it to 0.4.0 | ||
# | ||
# - update the version in the Cargo.toml to v0.4.0 | ||
# - generate a v0.4 branch | ||
# - push the branch to the repository | ||
# - then bump 0.4.0-rc.1 to 0.5.0-rc.0 | ||
# | ||
# This means main will never be a "stable" release, and we can always merge breaking changes to main | ||
# and backport them to the latest stable release | ||
# | ||
# This is configured to be ran manually, but could honestly just be a release workflow | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
permissions: | ||
actions: write | ||
|
||
jobs: | ||
promote: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Publish the next pre-release | ||
run: | | ||
git config --global user.email "github-actions[bot]@users.noreply.github.com" | ||
git config --global user.name "github-actions[bot]" | ||
# go from eg 0.4.0-rc.7 to 0.4.0, committing the change | ||
cargo workspaces version -y minor | ||
# create a new branch for the release | ||
RELEASE_BRANCH=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[0].version') | ||
RELEASE_BRANCH=v$(echo $RELEASE_BRANCH | sed 's/\.[0-9]*$//') | ||
git branch $RELEASE_BRANCH | ||
# go from 0.4.0 to 0.5.0-rc.0 | ||
cargo workspaces version -y preminor --pre-id rc | ||
# push the new branch to the repository | ||
git push origin $RELEASE_BRANCH | ||
# push the new version to the repository | ||
git push origin main |
Oops, something went wrong.