diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..f1fa399 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,33 @@ +name: build release + +on: + push: + tags: + - "v*.*.*" + +jobs: + build: + name: builds + strategy: + matrix: + os: [ubuntu-latest, macOS-latest] + + runs-on: ${{ matrix.os }} + steps: + - name: checkout + uses: actions/checkout@v4 + + - name: install D compiler + uses: dlang-community/setup-dlang@v2 + with: + compiler: ldc + dub: latest + + - name: build executable + shell: bash + run: ./release.sh + + - name: release + uses: softprops/action-gh-release@v2 + with: + files: releases/dtimer-*.tar.gz diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..de83ef8 --- /dev/null +++ b/release.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +UNAME_OS="$(uname -s)" +arch="$(uname -m)" + +mkdir -p releases + +case "${UNAME_OS}" in + Linux*) os=linux;; + Darwin*) os=macos;; + *) os="${UNAME_OS}";; +esac + +dub build -b release +tar czvf releases/dtimer-$os-$arch.tar.gz ./dtimer