-
Notifications
You must be signed in to change notification settings - Fork 1
38 lines (37 loc) · 1.08 KB
/
release.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
name: Release
run-name: Releasing Yggit on crates.io
on:
push:
branches:
- main
tags:
- '**' # TODO: add a good pattern match on version XX.XX.XX
permissions:
contents: write
jobs:
publish:
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags')
steps:
- uses: actions/checkout@v3
with:
ref: 'main'
- name: Installing cargo-edit
run: cargo install cargo-edit
# TODO: check if tag is superior than the current version
- name: Set the version to the tag value
run: cargo set-version $GITHUB_REF_NAME
- name: build
run: cargo build
- name: commit the version
run: |
git config --global user.email "[email protected]"
git config --global user.name "pilou"
git add .
git commit -m "release $GITHUB_REF_NAME"
git push --force
- name: cargo login
run: cargo login ${{ secrets.CRATES_IO_API_TOKEN }}
- name: Publishing
run: cargo publish
# TODO: Do we need to push a commit for the release?