Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to '.github/workflows/autopublish.yaml')
| -rw-r--r-- | .github/workflows/autopublish.yaml | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/.github/workflows/autopublish.yaml b/.github/workflows/autopublish.yaml new file mode 100644 index 0000000000..279f86b458 --- /dev/null +++ b/.github/workflows/autopublish.yaml @@ -0,0 +1,56 @@ +name: autopublish +on: + workflow_dispatch: # We can add version input when 1.0 is released and scheduled releases are removed + + # schedule: + # - cron: "0 0 * * *" # midnight UTC + + push: + branches: + - release + +jobs: + publish: + name: publish + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install Rust toolchain + run: rustup update --no-self-update stable + + - name: Install cargo-workspaces + run: cargo install cargo-workspaces + + - name: Publish Crates + env: + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + PATCH: ${{ github.run_number }} + shell: bash + run: | + git config --global user.email "[email protected]" + git config --global user.name "Github Action" + rm Cargo.lock + # Fix names for crates that were published before switch to kebab-case. + cargo workspaces rename --from base-db base_db + cargo workspaces rename --from hir-def hir_def + cargo workspaces rename --from hir-expand hir_expand + cargo workspaces rename --from hir-ty hir_ty + cargo workspaces rename --from ide-assists ide_assists + cargo workspaces rename --from ide-completion ide_completion + cargo workspaces rename --from ide-db ide_db + cargo workspaces rename --from ide-diagnostics ide_diagnostics + cargo workspaces rename --from ide-ssr ide_ssr + cargo workspaces rename --from proc-macro-api proc_macro_api + cargo workspaces rename --from proc-macro-srv proc_macro_srv + cargo workspaces rename --from project-model project_model + cargo workspaces rename --from test-utils test_utils + cargo workspaces rename --from text-edit text_edit + cargo workspaces rename ra_ap_%n + # Remove library crates from the workspaces so we don't auto-publish them as well + sed -i 's/ "lib\/\*",//' ./Cargo.toml + find crates/rust-analyzer -type f -name '*.rs' -exec sed -i 's/rust_analyzer/ra_ap_rust_analyzer/g' {} + + cargo workspaces publish --yes --force '*' --exact --no-git-commit --allow-dirty --skip-published custom 0.0.$PATCH |