浏览代码

wip: add semver workflows

Jonathan Kelley 1 年之前
父节点
当前提交
fff70973aa
共有 2 个文件被更改,包括 57 次插入0 次删除
  1. 48 0
      .github/workflows/publish.yml
  2. 9 0
      .github/workflows/semver.yml

+ 48 - 0
.github/workflows/publish.yml

@@ -4,3 +4,51 @@
 # - nightly docs
 # - the website
 # - crates themselves
+
+name: Publish to crates.io
+
+on:
+  workflow_dispatch:
+    inputs:
+      semver:
+        type: choice
+        description: "Semver version to publish"
+        required: true
+        options:
+          - patch
+          - minor
+          - major
+
+jobs:
+  publish:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v2
+      - name: Set up Rust
+        uses: actions-rs/toolchain@v1
+        with:
+          toolchain: nightly
+          override: true
+      - name: Install cargo-workspaces
+        run: cargo install cargo-workspaces
+      - name: Login to crates.io
+        uses: actions-rs/cargo@v1
+        with:
+          toolchain: nightly
+          command: login
+          args: ${{ secrets.CRATES_TOKEN }}
+      - name: Publish to crates.io
+        run: |
+          git config --global user.email "github-actions[bot]@users.noreply.github.com"
+          git config --global user.name "github-actions[bot]"
+
+          # Release as-is
+          # This assumes the version tracking PR has been merged
+
+
+          # cargo workspaces changed
+          # # version will automatically commit back to the repo
+          # # cargo workspaces version -y ${{ github.event.inputs.semver }}
+          # # publish will automatically commit back to the repo **AND** publish to crates.io
+          # # cargo workspaces publish -y ${{ github.event.inputs.semver }}

+ 9 - 0
.github/workflows/semver.yml

@@ -0,0 +1,9 @@
+# Whenever commits are merged to main, update or create a PR that bumps the version
+# Tracks if changes are semver compatible
+# Most likely the changes aren't semver compatible
+#
+# We want to have a standing "major" update PR and a standing "minor" update PR where fixes are backported
+#
+# Whenever a PR is made, we want to comment on it:
+# - semver compatibility
+# - if it's a fix, it should be backported to the minor update PR