name: build on: [push, pull_request] permissions: contents: read jobs: macos_build: # macos-11, macos-12 & macos-13 are broken at this time being. # https://github.com/koreader/koreader/issues/8686, # https://github.com/koreader/koreader/issues/8686#issuecomment-1172950236 # Please don't update to newer macOS version unless you can test that the new # action produces working binaries. # 10.15 is no longer supported so we are running 13 just to make sure the build does not break. runs-on: macos-13 steps: - name: XCode version run: xcode-select -p - name: Check out Git repository uses: actions/checkout@v4 with: clean: false fetch-depth: 0 filter: tree:0 show-progress: false - name: Install ccache run: | wget --progress=dot:mega https://github.com/ccache/ccache/releases/download/v4.9.1/ccache-4.9.1-darwin.tar.gz tar xf ccache-4.9.1-darwin.tar.gz printf '%s\n' "$PWD/ccache-4.9.1-darwin" >>"${GITHUB_PATH}" - name: Homebrew install dependencies # Compared to the README, adds p7zip. run: | packages=( nasm binutils coreutils libtool autoconf automake cmake makedepend sdl2 lua@5.1 luarocks gettext pkg-config wget gnu-getopt grep bison p7zip ) # Lua 5.1 is disabled, so we need to work around that: # - fetch all packages brew fetch "${packages[@]}" # - disable auto-updates export HOMEBREW_NO_AUTO_UPDATE=1 # - install lua@5.1 from cache brew install "$(brew --cache lua@5.1)" # - and install the rest brew install "${packages[@]}" - name: Update PATH run: | printf '%s\n' \ "$(brew --prefix)/opt/bison/bin" \ "$(brew --prefix)/opt/gettext/bin" \ "$(brew --prefix)/opt/gnu-getopt/bin" \ "$(brew --prefix)/opt/grep/libexec/gnubin" \ >>"${GITHUB_PATH}" - name: Building in progress… run: | export MACOSX_DEPLOYMENT_TARGET=10.15; ./kodev release macos - name: Uploading artifacts uses: actions/upload-artifact@v4 with: name: koreader-macos path: '*.7z'