# 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@v3 # 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 libglib2.0-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' }} - name: cargo doc run: cargo doc --no-deps --workspace --all-features - name: Deploy uses: JamesIves/github-pages-deploy-action@v4.7.3 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