| author | |
| committer | |
| log | 410c2e98a2c986885ce7677160b7212db69d223e |
| tree | 862c8b762999de67b3d03a81fa78eae0e771cfab |
| parent | 3f059428d1d3239766d57d7b18d31d71f3f1785b |
8 files changed, 75 insertions(+), 68 deletions(-)
.circleci/config.yml deleted-31| ... | @@ -1,31 +0,0 @@ | ||
| 1 | # Golang CircleCI 2.0 configuration file | ||
| 2 | # See https://circleci.com/docs/2.0/language-go/ | ||
| 3 | version: 2.1 | ||
| 4 | jobs: | ||
| 5 | build: | ||
| 6 | working_directory: /home/circleci/zigmod | ||
| 7 | docker: | ||
| 8 | - image: golang | ||
| 9 | environment: | ||
| 10 | DEBIAN_FRONTEND: noninteractive | ||
| 11 | steps: | ||
| 12 | - run: apt update | ||
| 13 | - run: apt -y upgrade | ||
| 14 | - checkout | ||
| 15 | - run: git submodule update --init --recursive | ||
| 16 | |||
| 17 | - run: apt -y install xz-utils jq | ||
| 18 | - run: ./download_zig.sh 0.10.0-dev.531+3eb8d01f5 | ||
| 19 | - run: zig version | ||
| 20 | - run: zig env | ||
| 21 | - run: zig build -Dbootstrap | ||
| 22 | - run: ./zig-out/bin/zigmod ci | ||
| 23 | - run: zig build | ||
| 24 | - run: ./build_all_zig.sh | ||
| 25 | - store_artifacts: | ||
| 26 | path: ./zig-out/bin/ | ||
| 27 | destination: /artifacts/ | ||
| 28 | |||
| 29 | - run: mkdir -p /artifacts/ | ||
| 30 | - run: cp -R ./zig-out/bin/. /artifacts/ | ||
| 31 | - run: ./make_release.sh | ||
.github/workflows/push.yml created+42| ... | @@ -0,0 +1,42 @@ | ||
| 1 | name: CI | ||
| 2 | |||
| 3 | on: | ||
| 4 | push: | ||
| 5 | branches: [master] | ||
| 6 | |||
| 7 | jobs: | ||
| 8 | release: | ||
| 9 | runs-on: ubuntu-latest | ||
| 10 | |||
| 11 | steps: | ||
| 12 | - uses: actions/checkout@v2 | ||
| 13 | with: | ||
| 14 | fetch-depth: 0 | ||
| 15 | submodules: "recursive" | ||
| 16 | - run: git fetch --all --tags | ||
| 17 | - run: top -b -n 1 | head -n5 | ||
| 18 | |||
| 19 | - name: Setup Zig | ||
| 20 | uses: goto-bus-stop/setup-zig@v1 | ||
| 21 | with: | ||
| 22 | version: "0.10.0-dev.531+3eb8d01f5" | ||
| 23 | |||
| 24 | - run: zig version | ||
| 25 | - run: zig env | ||
| 26 | - run: zig build -Dbootstrap | ||
| 27 | - run: ./zig-out/bin/zigmod ci | ||
| 28 | - run: cat deps.zig | ||
| 29 | - run: zig build | ||
| 30 | |||
| 31 | # Build All | ||
| 32 | - run: ./build_release.sh aarch64-linux-musl | ||
| 33 | - run: ./build_release.sh aarch64-macos-gnu | ||
| 34 | - run: ./build_release.sh aarch64-windows-gnu | ||
| 35 | - run: ./build_release.sh i386-linux-musl | ||
| 36 | - run: ./build_release.sh x86_64-linux-musl | ||
| 37 | - run: ./build_release.sh x86_64-macos-gnu | ||
| 38 | - run: ./build_release.sh x86_64-windows-gnu | ||
| 39 | |||
| 40 | # Github Release | ||
| 41 | - run: ./changelog.sh | ||
| 42 | - run: ./make_release.sh ${{ secrets.GITHUB_TOKEN }} | ||
.gitignore+3-2| ... | @@ -1,2 +1,3 @@ | ... | @@ -1,2 +1,3 @@ |
| 1 | /zig-* | 1 | zig-* |
| 2 | /.zigmod | 2 | .zigmod |
| 3 | bin |
build_all_zig.sh+1-7| ... | @@ -2,10 +2,6 @@ | ... | @@ -2,10 +2,6 @@ |
| 2 | 2 | ||
| 3 | set -e | 3 | set -e |
| 4 | 4 | ||
| 5 | date=$(date +'%Y%m%d') | ||
| 6 | version=${CIRCLE_BUILD_NUM-$date} | ||
| 7 | tag=v$version.$(git log --format=%h -1) | ||
| 8 | |||
| 9 | targets=" | 5 | targets=" |
| 10 | aarch64-linux-musl | 6 | aarch64-linux-musl |
| 11 | aarch64-macos-gnu | 7 | aarch64-macos-gnu |
| ... | @@ -18,7 +14,5 @@ x86_64-windows-gnu | ... | @@ -18,7 +14,5 @@ x86_64-windows-gnu |
| 18 | 14 | ||
| 19 | for item in $targets | 15 | for item in $targets |
| 20 | do | 16 | do |
| 21 | echo "$tag-$item" | 17 | ./build_release.sh $item |
| 22 | zig build -Dtarget=$item -Duse-full-name -Dtag=$tag | ||
| 23 | echo | ||
| 24 | done | 18 | done |
build_release.sh created+13| ... | @@ -0,0 +1,13 @@ | ||
| 1 | #!/usr/bin/env bash | ||
| 2 | |||
| 3 | set -e | ||
| 4 | |||
| 5 | tag="r$(./release_num.sh)" | ||
| 6 | rev=$(git log --format=%h -1) | ||
| 7 | |||
| 8 | target=$1 | ||
| 9 | |||
| 10 | # TODO error if $target is empty | ||
| 11 | |||
| 12 | echo "$tag.$rev $target" | ||
| 13 | $(which time) zig build -Dtarget=$target -Duse-full-name -Dtag=$tag -Drelease --prefix . | ||
download_zig.sh deleted-22| ... | @@ -1,22 +0,0 @@ | ||
| 1 | #!/usr/bin/env bash | ||
| 2 | |||
| 3 | set -x | ||
| 4 | set -e | ||
| 5 | |||
| 6 | os="linux" | ||
| 7 | arch="x86_64" | ||
| 8 | version="$1" | ||
| 9 | |||
| 10 | dir="zig-$os-$arch-$version" | ||
| 11 | file="$dir.tar.xz" | ||
| 12 | |||
| 13 | cd / | ||
| 14 | |||
| 15 | if [[ $1 == *"dev"* ]]; then | ||
| 16 | wget https://ziglang.org/builds/$file | ||
| 17 | else | ||
| 18 | wget https://ziglang.org/download/$version/$file | ||
| 19 | fi | ||
| 20 | |||
| 21 | tar -xf $file | ||
| 22 | ln -s /$dir/zig /usr/local/bin | ||
make_release.sh+8-6| ... | @@ -2,18 +2,20 @@ | ... | @@ -2,18 +2,20 @@ |
| 2 | 2 | ||
| 3 | set -e | 3 | set -e |
| 4 | 4 | ||
| 5 | date=$(date +'%Y.%m.%d') | 5 | tag=r$(./release_num.sh) |
| 6 | version=${CIRCLE_BUILD_NUM-$date} | 6 | |
| 7 | tag=v$version | 7 | GITHUB_TOKEN="$1" |
| 8 | PROJECT_USERNAME=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1) | ||
| 9 | PROJECT_REPONAME=$(echo $GITHUB_REPOSITORY | cut -d'/' -f2) | ||
| 8 | 10 | ||
| 9 | # ghr uses Zigmod to build itself, so we need to use the binary to build Zigmod | 11 | # ghr uses Zigmod to build itself, so we need to use the binary to build Zigmod |
| 10 | curl -s https://api.github.com/repos/nektro/ghr-zig/releases | jq -r '.[0].assets[].browser_download_url' | grep $(uname -m) | grep linux | wget -i - | 12 | curl -s https://api.github.com/repos/nektro/ghr-zig/releases | jq -r '.[0].assets[].browser_download_url' | grep $(uname -m) | grep linux | wget -i - |
| 11 | chmod +x ./ghr-linux-x86_64 | 13 | chmod +x ./ghr-linux-x86_64 |
| 12 | ./ghr-linux-x86_64 \ | 14 | ./ghr-linux-x86_64 \ |
| 13 | -t ${GITHUB_TOKEN} \ | 15 | -t ${GITHUB_TOKEN} \ |
| 14 | -u ${CIRCLE_PROJECT_USERNAME} \ | 16 | -u ${PROJECT_USERNAME} \ |
| 15 | -r ${CIRCLE_PROJECT_REPONAME} \ | 17 | -r ${PROJECT_REPONAME} \ |
| 16 | -b "$(./changelog.sh)" \ | 18 | -b "$(./changelog.sh)" \ |
| 17 | -n "$tag" \ | 19 | -n "$tag" \ |
| 18 | "$tag" \ | 20 | "$tag" \ |
| 19 | "/artifacts/" | 21 | "./bin/" |
release_num.sh created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | #!/usr/bin/env bash | ||
| 2 | |||
| 3 | set -e | ||
| 4 | |||
| 5 | tagcount=$(git tag | wc -l) | ||
| 6 | tagcount=$((tagcount+1)) | ||
| 7 | |||
| 8 | echo $tagcount | ||