diff options
| -rw-r--r-- | .gitea/workflows/release.yaml | 29 | ||||
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | Cargo.lock | 2 | ||||
| -rw-r--r-- | Cargo.toml | 6 | ||||
| -rw-r--r-- | build.sh | 19 |
5 files changed, 56 insertions, 2 deletions
diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 0000000..3698781 --- /dev/null +++ b/.gitea/workflows/release.yaml | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | name: release | ||
| 2 | on: | ||
| 3 | push: | ||
| 4 | tags: | ||
| 5 | - "[0-9]+.[0-9]+.[0-9]+*" | ||
| 6 | jobs: | ||
| 7 | release: | ||
| 8 | runs-on: [fedora-latest] | ||
| 9 | steps: | ||
| 10 | - name: Checkout repository | ||
| 11 | uses: actions/checkout@v4 | ||
| 12 | - uses: dtolnay/rust-toolchain@nightly | ||
| 13 | - run: cargo check && cargo test | ||
| 14 | - run: ./build.sh | ||
| 15 | - name: Create release | ||
| 16 | id: create-release | ||
| 17 | uses: https://git.d464.sh/actions/release@v1 | ||
| 18 | with: | ||
| 19 | token: ${{ secrets.AUTH_TOKEN }} | ||
| 20 | tag: ${{ github.ref_name }} | ||
| 21 | name: ${{ github.ref_name }} # not required | ||
| 22 | - name: Upload assets | ||
| 23 | id: upload-assets | ||
| 24 | uses: https://git.d464.sh/actions/upload-asset@v1 | ||
| 25 | with: | ||
| 26 | token: ${{ secrets.AUTH_TOKEN }} | ||
| 27 | release_id: ${{ steps.create-release.outputs.release_id }} | ||
| 28 | paths: | | ||
| 29 | dist/* | ||
| @@ -1 +1,3 @@ | |||
| 1 | /target | 1 | /target |
| 2 | /dist | ||
| 3 | /*.rpm | ||
| @@ -122,7 +122,7 @@ dependencies = [ | |||
| 122 | 122 | ||
| 123 | [[package]] | 123 | [[package]] |
| 124 | name = "rust-hexdump" | 124 | name = "rust-hexdump" |
| 125 | version = "0.1.0" | 125 | version = "1.0.0" |
| 126 | dependencies = [ | 126 | dependencies = [ |
| 127 | "clap", | 127 | "clap", |
| 128 | ] | 128 | ] |
| @@ -1,9 +1,13 @@ | |||
| 1 | [package] | 1 | [package] |
| 2 | name = "rust-hexdump" | 2 | name = "rust-hexdump" |
| 3 | version = "0.1.0" | 3 | version = "1.0.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | 5 | ||
| 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | clap = { version = "4.4.18", features = ["env", "derive"] } | 9 | clap = { version = "4.4.18", features = ["env", "derive"] } |
| 10 | |||
| 11 | [profile.release] | ||
| 12 | strip = true | ||
| 13 | opt-level = "z" | ||
diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..ff61f80 --- /dev/null +++ b/build.sh | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | #!/usr/bin//sh | ||
| 2 | |||
| 3 | VERSION=${VERSION:-$(git describe --tags)} | ||
| 4 | if [ "$VERSION" = "" ]; then | ||
| 5 | echo "No VERSION" | ||
| 6 | exit 1 | ||
| 7 | fi | ||
| 8 | |||
| 9 | mkdir -p dist | ||
| 10 | rustup target install x86_64-unknown-linux-musl || exit 1 | ||
| 11 | cargo build --release --target-dir target --target x86_64-unknown-linux-musl || exit 1 | ||
| 12 | mv target/x86_64-unknown-linux-musl/release/rust-hexdump dist/ || exit 1 | ||
| 13 | rpm-assembler \ | ||
| 14 | --name rust-hexdump \ | ||
| 15 | --summary "hexdump a rust slice" \ | ||
| 16 | --version $VERSION \ | ||
| 17 | --arch x86_64 \ | ||
| 18 | dist/rust-hexdump:/usr/bin/rust-hexdump:0755 || exit 1 | ||
| 19 | mv *.rpm dist/ || exit 1 | ||
