diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..57e0f07 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,59 @@ +name: Release +on: + release: + types: [published] + +jobs: + + test: + name: Test Gamma + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macOS-latest] + + runs-on: ${{ matrix.os }} + steps: + - name: Checkout source codet + uses: actions/checkout@v3 + + - name: Install D compiler + uses: dlang-community/setup-dlang@v1 + with: + compiler: dmd-latest + + - name: Run tests + run: | + dub test --config=example + + build: + name: Build Gamma + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macOS-latest] + include: + - os: windows-latest + exe: "gamma.exe" + - os: ubuntu-latest + exe: "./gamma" + - os: macOS-latest + exe: "./gamma" + + runs-on: ${{ matrix.os }} + steps: + - name: Checkout source code + uses: actions/checkout@v3 + + - name: Install D compiler + uses: dlang-community/setup-dlang@v1 + with: + compiler: ldc-latest + + - name: Run build + run: | + dub build + + - name: Upload release binaries + uses: AButler/upload-release-assets@v3.0 + with: + files: ${{ matrix.exe }} + repo-token: ${{ secrets.GITHUB_TOKEN }}