Fixes, add async Linux GUI clipboard #750
Workflow file for this run
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@v3 | |
- 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 dpkg --add-architecture "${{ matrix.arch.os }}" | |
sudo apt-get update | |
sudo apt-get install -y \ | |
"${GPP_PACKAGE}" \ | |
"libx11-dev:${{ matrix.arch.os }}" \ | |
"libwayland-dev:${{ matrix.arch.os }}" \ | |
"wayland-protocols:${{ matrix.arch.os }}" \ | |
"libasound-dev:${{ matrix.arch.os }}" \ | |
"liburing-dev:${{ 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" | |
cmake --build . -j 4 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: clipboard-linux-${{ matrix.arch.os }} | |
path: build/output | |
flatpak-amd64: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Run a script | |
run: | | |
sudo apt-get update | |
sudo apt-get 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@v3 | |
with: | |
name: clipboard-flatpak-amd64 | |
path: | | |
clipboard-flatpak-amd64.flatpak | |
snap-amd64: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: snapcore/action-build@v1 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: clipboard-snap-amd64 | |
path: | | |
*.snap | |
macos-arm64-amd64: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Run a script | |
run: | | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release | |
cmake --build . -j 3 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: clipboard-macos-arm64-amd64 | |
path: build/output | |
windows-amd64: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Run a script | |
run: | | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release | |
cmake --build . --config Release -j 3 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: clipboard-windows-amd64 | |
path: build/output | |
windows-arm64: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Run a script | |
run: | | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_GENERATOR_PLATFORM=ARM64 | |
cmake --build . --config Release -j 3 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: clipboard-windows-arm64 | |
path: build/output | |
freebsd-amd64: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- 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@v3 | |
with: | |
name: clipboard-freebsd-amd64 | |
path: build/output | |
openbsd-amd64: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- 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@v3 | |
with: | |
name: clipboard-openbsd-amd64 | |
path: build/output | |
openbsd-arm64: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- 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@v3 | |
with: | |
name: clipboard-openbsd-arm64 | |
path: build/output | |
netbsd-amd64: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- 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@v3 | |
with: | |
name: clipboard-netbsd-amd64 | |
path: build/output |