Skip to content

Commit

Permalink
Merge pull request #15 from grunt-lucas/meta/ci-workflows
Browse files Browse the repository at this point in the history
CI workflow changes, closes #14
  • Loading branch information
grunt-lucas authored Feb 18, 2024
2 parents ec9cdf0 + d1b0727 commit af1a353
Show file tree
Hide file tree
Showing 3 changed files with 123 additions and 1 deletion.
105 changes: 105 additions & 0 deletions .github/workflows/dev_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: Porytiles Develop Branch Build
on:
push:
branches: [ "develop" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
dev-build-linux-amd64-clang-llvm:
name: Develop branch build on ubuntu-latest-amd64 with Clang+LLVM 16
runs-on: ubuntu-latest
steps:
- name: Install Clang+LLVM 16 and dependencies
run: |
sudo apt-get update
sudo apt-get install zlib1g-dev
sudo apt-get install libpng-dev
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 16 all
clang++-16 --version
clang++-16 -v
- name: Checkout porytiles
uses: actions/checkout@v3

- name: Build debug and release executables
run: |
CXX=clang++-16 make all
- name: Run tests on debug and release
run: |
CXX=clang++-16 make check
dev-build-linux-amd64-gcc:
name: Develop branch on ubuntu-latest-amd64 with GCC 13
runs-on: ubuntu-latest
steps:
- name: Install GCC 13 and dependencies
run: |
sudo apt-get update
sudo apt-get install zlib1g-dev
sudo apt-get install libpng-dev
sudo apt-get install g++-13
g++-13 --version
g++-13 -v
- name: Checkout porytiles
uses: actions/checkout@v3

- name: Build debug and release executables
run: |
CXX=g++-13 make all
- name: Run tests on debug and release
run: |
CXX=g++-13 make check
dev-build-macos-amd64-clang-llvm:
name: Develop branch on macos-latest-amd64 with Clang+LLVM 16
runs-on: macos-latest
steps:
- name: Install Clang+LLVM 16 and dependencies
run: |
brew update
brew install zlib
brew install libpng
brew install llvm@16
/usr/local/opt/llvm@16/bin/clang++ --version
/usr/local/opt/llvm@16/bin/clang++ -v
- name: Checkout porytiles
uses: actions/checkout@v3

- name: Build debug and release executables
run: |
LDFLAGS='-L/usr/local/opt/llvm@16/lib/c++ -Wl,-rpath,/usr/local/opt/llvm@16/lib/c++' CXXFLAGS='-I/usr/local/opt/llvm@16/include/c++/v1' CXX=/usr/local/opt/llvm@16/bin/clang++ make all
- name: Run tests on debug and release
run: |
LDFLAGS='-L/usr/local/opt/llvm@16/lib/c++ -Wl,-rpath,/usr/local/opt/llvm@16/lib/c++' CXXFLAGS='-I/usr/local/opt/llvm@16/include/c++/v1' CXX=/usr/local/opt/llvm@16/bin/clang++ make check
dev-build-macos-aarch4-clang-llvm:
name: Develop branch on macos-14-aarch64 with Clang+LLVM 16
runs-on: macos-14
steps:
- name: Install Clang+LLVM 16 and dependencies
run: |
brew update
brew install zlib
brew install libpng
brew install llvm@16
/opt/homebrew/opt/llvm@16/bin/clang++ --version
/opt/homebrew/opt/llvm@16/bin/clang++ -v
- name: Checkout porytiles
uses: actions/checkout@v3

- name: Build debug and release executables
run: |
LDFLAGS='-L/opt/homebrew/opt/llvm@16/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@16/lib/c++' CXXFLAGS='-I/opt/homebrew/opt/llvm@16/include/c++/v1' CXX=/opt/homebrew/opt/llvm@16/bin/clang++ make all
- name: Run tests on debug and release
run: |
LDFLAGS='-L/opt/homebrew/opt/llvm@16/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@16/lib/c++' CXXFLAGS='-I/opt/homebrew/opt/llvm@16/include/c++/v1' CXX=/opt/homebrew/opt/llvm@16/bin/clang++ make check
16 changes: 16 additions & 0 deletions .github/workflows/nightly_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ jobs:
name: Release a nightly statically linked linux-amd64 binary
runs-on: ubuntu-latest
needs: [create-release-tag]
if: needs.check-already-built.outputs.last_sha != github.sha
steps:
- name: Install Clang+LLVM 16 and dependencies
run: |
Expand Down Expand Up @@ -72,6 +73,7 @@ jobs:
name: Release a nightly dynamically linked macos-amd64 binary
runs-on: macos-latest
needs: [create-release-tag]
if: needs.check-already-built.outputs.last_sha != github.sha
steps:
- name: Install Clang+LLVM 16 and dependencies
run: |
Expand Down Expand Up @@ -103,6 +105,7 @@ jobs:
name: Release a nightly dynamically linked macos-aarch64 binary
runs-on: macos-14
needs: [create-release-tag]
if: needs.check-already-built.outputs.last_sha != github.sha
steps:
- name: Install Clang+LLVM 16 and dependencies
run: |
Expand All @@ -129,3 +132,16 @@ jobs:
files: porytiles-macos-aarch64.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

prune-old-nightlies:
name: Only keep the latest nightly build
runs-on: ubuntu-latest
needs: [nightly-release-linux-amd64, nightly-release-macos-amd64, nightly-release-macos-aarch64]
if: needs.check-already-built.outputs.last_sha != github.sha
steps:
- uses: dev-drprasad/delete-older-releases@v0.3.2
with:
keep_latest: 1
delete_tag_pattern: nightly-.*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Porytiles

[![Actions Status](https://github.com/grunt-lucas/porytiles/workflows/Build%20Porytiles/badge.svg)](https://github.com/grunt-lucas/porytiles/actions)
[![Actions Status](https://github.com/grunt-lucas/porytiles/workflows/Porytiles%20Develop%20Branch%20Build/badge.svg)](https://github.com/grunt-lucas/porytiles/actions)
[![Actions Status](https://github.com/grunt-lucas/porytiles/workflows/Porytiles%20Nightly%20Release/badge.svg)](https://github.com/grunt-lucas/porytiles/actions)

Overworld tileset compiler for use with the [`pokeemerald`](https://github.com/pret/pokeemerald),
[`pokefirered`](https://github.com/pret/pokefirered), and [`pokeruby`](https://github.com/pret/pokeruby) Pokémon
Expand Down

0 comments on commit af1a353

Please sign in to comment.