Improve script a little #833
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/action@v0.13.0 | |
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/action@v0.13.0 | |
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/action@v0.13.0 | |
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/action@v0.13.0 | |
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 |