forked from langston-barrett/treeedb
-
Notifications
You must be signed in to change notification settings - Fork 0
74 lines (67 loc) · 3.53 KB
/
Copy pathrelease.yml
File metadata and controls
74 lines (67 loc) · 3.53 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
on:
push:
branches:
- release*
tags:
- 'v*'
name: release
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Run Datalog generators
run: |
cargo run --bin treeedbgen-souffle-bash -- --output treeedb-bash.dl --prefix sh
cargo run --bin treeedbgen-souffle-c -- --output treeedb-c.dl --prefix c
cargo run --bin treeedbgen-souffle-cpp -- --output treeedb-cpp.dl --prefix cpp
cargo run --bin treeedbgen-souffle-crystal -- --output treeedb-crystal.dl --prefix crystal
cargo run --bin treeedbgen-souffle-csharp -- --output treeedb-csharp.dl --prefix csharp
cargo run --bin treeedbgen-souffle-java -- --output treeedb-java.dl --prefix java
cargo run --bin treeedbgen-souffle-javascript -- --output treeedb-javascript.dl --prefix js
cargo run --bin treeedbgen-souffle-perl -- --output treeedb-perl.dl --prefix pl
cargo run --bin treeedbgen-souffle-php -- --output treeedb-php.dl --prefix php
cargo run --bin treeedbgen-souffle-python -- --output treeedb-python.dl --prefix py
cargo run --bin treeedbgen-souffle-ruby -- --output treeedb-ruby.dl --prefix rb
cargo run --bin treeedbgen-souffle-rust -- --output treeedb-rust.dl --prefix rs
cargo run --bin treeedbgen-souffle-souffle -- --output treeedb-souffle.dl --prefix dl
cargo run --bin treeedbgen-souffle-swift -- --output treeedb-swift.dl --prefix swift
- name: Deps
run: |
sudo apt-get install -y musl-tools
rustup target add x86_64-unknown-linux-musl
- name: Build static executables
run: |
make static
mkdir exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-bash exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-c exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-cpp exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-crystal exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-csharp exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-java exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-javascript exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-perl exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-php exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-python exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-ruby exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-rust exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-souffle exe/
cp target/x86_64-unknown-linux-musl/release/treeedb-swift exe/
- uses: ncipollo/release-action@v1
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
with:
artifacts: "exe/treeedb-*,treeedb-*.dl"
artifactErrorsFailBuild: true
draft: true
token: ${{ secrets.GITHUB_TOKEN }}
- name: Publish to crates.io
env:
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
PUSH: ${{ startsWith(github.ref, 'refs/tags/v') }}
run: | # zizmor: ignore[use-trusted-publishing] TODO
if [[ "${PUSH}" == true ]]; then
cargo publish --token="${CRATES_IO_TOKEN}" --workspace --exclude treeedb-crystal --exclude treeedbgen-souffle-crystal --exclude treeedb-perl --exclude treeedbgen-souffle-perl
else
cargo publish --dry-run --token="${CRATES_IO_TOKEN}" --workspace --exclude treeedb-crystal --exclude treeedbgen-souffle-crystal --exclude treeedb-perl --exclude treeedbgen-souffle-perl
fi