Finish Script action, add justfile #851
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Clipboard Builds | |
on: [ push, pull_request ] | |
jobs: | |
linux_x11wl: | |
strategy: | |
fail-fast: false | |
matrix: | |
gcc: [ 12 ] | |
arch: | |
#- os: i386 | |
# gcc: i686-linux-gnu | |
# needs_ports: "0" | |
- os: amd64 | |
gcc: x86_64-linux-gnu | |
needs_ports: "0" | |
- os: arm64 | |
gcc: aarch64-linux-gnu | |
needs_ports: "1" | |
- os: riscv64 | |
gcc: riscv64-linux-gnu | |
needs_ports: "1" | |
- os: armhf | |
gcc: arm-linux-gnueabihf | |
needs_ports: "1" | |
- os: ppc64el | |
gcc: powerpc64le-linux-gnu | |
needs_ports: "1" | |
#- os: s390x | |
# gcc: s390x-linux-gnu | |
# needs_ports: "1" | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
#- uses: lhotari/action-upterm@v1 | |
- name: Run a script | |
run: | | |
GPP_PACKAGE="g++-${{ matrix.gcc }}-${{ matrix.arch.gcc }}" | |
if [[ "${{ matrix.arch.gcc }}" == "$(uname --processor)-linux-gnu" ]]; then | |
GPP_PACKAGE="g++-${{ matrix.gcc }}" | |
fi | |
if [[ "${{ matrix.arch.needs_ports }}" == "1" ]]; then | |
sudo echo "deb [arch=${{ matrix.arch.os }}] http://ports.ubuntu.com/ $(lsb_release -sc) main multiverse universe" | sudo tee -a /etc/apt/sources.list | |
sudo echo "deb [arch=${{ matrix.arch.os }}] http://ports.ubuntu.com/ $(lsb_release -sc)-updates main multiverse universe" | sudo tee -a /etc/apt/sources.list | |
sudo echo "deb [arch=${{ matrix.arch.os }}] http://ports.ubuntu.com/ $(lsb_release -sc)-security main multiverse universe" | sudo tee -a /etc/apt/sources.list | |
sudo echo "deb [arch=${{ matrix.arch.os }}] http://ports.ubuntu.com/ $(lsb_release -sc)-backports main multiverse universe" | sudo tee -a /etc/apt/sources.list | |
echo "remove archive ubuntu for ports"; | |
sudo sed -ibak '/\/archive.ubuntu.com/d' /etc/apt/sources.list; | |
fi | |
# This limits apt to only looking or amd64 and i386 from Azure, see https://github.com/actions/virtual-environments/issues/1961 | |
sudo sed -i'' -E 's/^deb http:\/\/(azure.archive|security).ubuntu.com/deb [arch=amd64,i386] http:\/\/\1.ubuntu.com/' /etc/apt/sources.list | |
sudo apt update || true | |
sudo dpkg --add-architecture "${{ matrix.arch.os }}" | |
sudo apt update || true | |
sudo apt install -y "${GPP_PACKAGE}" | |
sudo apt install -y "libx11-dev:${{ matrix.arch.os }}" | |
sudo apt install -y "libwayland-dev:${{ matrix.arch.os }}" | |
sudo apt install -y "wayland-protocols:${{ matrix.arch.os }}" | |
sudo apt install -y "libasound-dev:${{ matrix.arch.os }}" | |
sudo apt install -y "liburing-dev:${{ matrix.arch.os }}" | |
sudo apt install -y "libssl-dev:${{ matrix.arch.os }}" | |
sudo apt install -y "openssl:${{ matrix.arch.os }}" | |
cd build | |
cmake .. \ | |
"-DCMAKE_CXX_COMPILER=${{ matrix.arch.gcc }}-g++-${{ matrix.gcc }}" \ | |
"-DCMAKE_C_COMPILER=${{ matrix.arch.gcc }}-gcc-${{ matrix.gcc }}" \ | |
"-DCMAKE_BUILD_TYPE=Release" \ | |
"-DOPENSSL_CRYPTO_LIBRARY=/usr/lib/${{ matrix.arch.gcc }}/libcrypto.so" \ | |
cmake --build . -j 4 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-linux-${{ matrix.arch.os }} | |
path: build/output | |
flatpak-amd64: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run a script | |
run: | | |
sudo apt update | |
sudo apt install -y flatpak-builder flatpak | |
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
flatpak install --user --noninteractive flathub org.freedesktop.Platform//22.08 org.freedesktop.Sdk//22.08 | |
flatpak-builder --repo=repo --force-clean build-dir app.getclipboard.Clipboard.yml | |
flatpak build-bundle repo clipboard-flatpak-amd64.flatpak app.getclipboard.Clipboard | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-flatpak-amd64 | |
path: | | |
clipboard-flatpak-amd64.flatpak | |
snap-amd64: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: snapcore/action-build@v1 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-snap-amd64 | |
path: | | |
*.snap | |
macos-arm64: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run a script | |
run: | | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release | |
cmake --build . -j 3 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-macos-arm64 | |
path: build/output | |
macos-amd64: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run a script | |
run: | | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release | |
cmake --build . -j 3 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-macos-amd64 | |
path: build/output | |
windows-amd64: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run a script | |
run: | | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release | |
cmake --build . --config Release -j 3 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-windows-amd64 | |
path: build/output | |
windows-arm64: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run a script | |
run: | | |
vcpkg install openssl:arm64-windows | |
$env:PATH = "$env:VCPKG_ROOT;$env:PATH" | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_GENERATOR_PLATFORM=ARM64 | |
cmake --build . --config Release -j 3 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-windows-arm64 | |
path: build/output | |
freebsd-amd64: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run a script | |
uses: cross-platform-actions/[email protected] | |
with: | |
operating_system: freebsd | |
architecture: x86-64 | |
version: '13.1' | |
shell: bash | |
run: | | |
sudo pkg install -y cmake llvm15 xorg wayland | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang15 -DCMAKE_CXX_COMPILER=clang++15 -DNO_X11=1 | |
cmake --build . -j 2 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-freebsd-amd64 | |
path: build/output | |
openbsd-amd64: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run a script | |
uses: cross-platform-actions/[email protected] | |
with: | |
operating_system: openbsd | |
architecture: x86-64 | |
version: '7.2' | |
shell: bash | |
run: | | |
sudo pkg_add cmake | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release -DNO_X11=1 | |
cmake --build . -j 2 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-openbsd-amd64 | |
path: build/output | |
openbsd-arm64: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run a script | |
uses: cross-platform-actions/[email protected] | |
with: | |
operating_system: openbsd | |
architecture: arm64 | |
version: '7.2' | |
shell: bash | |
run: | | |
sudo pkg_add cmake | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release -DNO_X11=1 | |
cmake --build . -j 2 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-openbsd-arm64 | |
path: build/output | |
netbsd-amd64: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run a script | |
uses: cross-platform-actions/[email protected] | |
with: | |
operating_system: netbsd | |
architecture: x86_64 | |
version: '9.2' | |
shell: bash | |
run: | | |
sudo pkgin -y install cmake gcc12 | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/pkg/gcc12/bin/gcc -DCMAKE_CXX_COMPILER=/usr/pkg/gcc12/bin/g++ | |
cmake --build . -j 2 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: clipboard-netbsd-amd64 | |
path: build/output |