Gh actions#1554
Conversation
ce7fd84 to
4521e77
Compare
| if [ -f autogen.sh ]; then | ||
| infobegin "Configure (autotools)" | ||
| NOCONFIGURE=1 ./autogen.sh | ||
| ./configure --prefix=/usr --enable-compile-warnings=maximum || { |
There was a problem hiding this comment.
We should also test with --with-in-process-applets=all (I think in addition to --with-in-process-applets=none), since this is important for Wayland builds. Maybe we do this only for a single distro (e.g. ${OS} == "debian", since that's what @lukefromdc uses for Wayland development I think?)
|
|
||
| infobegin "Check (autotools)" | ||
| make -j ${CPUS} check || { | ||
| true |
There was a problem hiding this comment.
Does this swallow errors - I think we do this in all our repos anyway, but wondering if we're missing stuff because of the || true...
|
|
||
| NAME="mate-desktop" | ||
| TEMP_DIR=$(mktemp -d) | ||
| OS=$(cat /etc/os-release | grep ^ID | head -n 1 | awk -F= '{ print $2}') |
There was a problem hiding this comment.
the /etc/os-release file sets the variables directly, you should be able to change this to OS=$(source /etc/os-release && echo $ID), which may be a bit more robust
|
Correct-we need to know what happens in-procrss. I am on Debian Unstable here
|
| matrix: | ||
| container: | ||
| [ | ||
| "debian:testing", |
There was a problem hiding this comment.
Should we change this to "debian:unstable" since that's what @lukefromdc is using? This would likely (hopefully) solve the bad cert issue in GH Actions
There was a problem hiding this comment.
Fine by me, though we must remember that Debian Unstable can always get a bad or out of synch update. Matching what I use will hopefully reduce problems though
| name: Build on ${{matrix.container}} (using ${{matrix.cc}}) | ||
| runs-on: ubuntu-latest | ||
| container: | ||
| image: ${{matrix.container}} | ||
| volumes: | ||
| - /tmp/.cache | ||
| - /var/cache/apt | ||
|
|
||
| strategy: | ||
| fail-fast: false # don't cancel other jobs in the matrix if one fails | ||
| matrix: | ||
| container: | ||
| [ | ||
| "debian:testing", | ||
| "fedora:latest", | ||
| "ubuntu:rolling", | ||
| "archlinux:latest", | ||
| ] | ||
| cc: ["gcc"] | ||
| cxx: ["g++"] | ||
| include: | ||
| - container: "archlinux:latest" | ||
| cc: "clang" | ||
| cxx: "clang++" | ||
|
|
||
| env: | ||
| # Speed up build with ccache | ||
| CC: ccache ${{ matrix.cc }} | ||
| CXX: ccache ${{ matrix.cxx }} | ||
| CONTAINER: ${{ matrix.container }} | ||
|
|
||
| steps: | ||
| - name: Setup environment variables | ||
| id: distro-name | ||
| shell: bash | ||
| run: | | ||
| split=(${CONTAINER//:/ }) | ||
| distro=${split[0]} | ||
| short_sha=${SHA:0:8} | ||
| echo "DISTRO=$distro" | tee -a $GITHUB_ENV | ||
| - name: Install git command | ||
| shell: bash | ||
| run: | | ||
| echo "::group::Install git ..." | ||
| apt-get update -qq && apt-get install --assume-yes git || true | ||
| dnf update -y && dnf install -y git || true | ||
| pacman --noconfirm -Sy git || true | ||
| echo "::endgroup::" | ||
| - name: Repository checkout | ||
| uses: actions/checkout@v5 | ||
| with: | ||
| submodules: "true" | ||
| - name: Install dependency packages | ||
| run: .github/workflows/${{ env.DISTRO }}.sh | ||
| - name: Enable ccache to speed up builds | ||
| uses: hendrikmuhs/ccache-action@v1.2 | ||
| with: | ||
| key: ${{ env.DISTRO }}-${{ matrix.cc }} | ||
|
|
||
| # INFO: mate-panel depends mate-desktop 1.28.2+, so we should install it from source. | ||
| - name: Cache mate-desktop binary packages | ||
| uses: actions/cache@v5 | ||
| id: cache-mate-desktop | ||
| with: | ||
| path: ${{ env.CACHE_PATH }} | ||
| key: ${{ env.DISTRO }}-build-mate-desktop-${{env.MATE_DESKTOP_VERSION}} | ||
| - name: Built and install mate-desktop from source | ||
| run: .github/workflows/mate-desktop.sh ${{env.MATE_DESKTOP_VERSION}} ${{ env.CACHE_PATH }} | ||
| # INFO: mate-panel depends mate-desktop 1.28.2+, install finished. | ||
|
|
||
| - name: Build the source code | ||
| run: .github/workflows/builds.sh |
No description provided.