diff options
| -rw-r--r-- | .build.yml | 72 | ||||
| -rw-r--r-- | .github/dependabot.yml | 8 | ||||
| -rwxr-xr-x | .github/workflows/archlinux.sh | 35 | ||||
| -rwxr-xr-x | .github/workflows/builds.sh | 38 | ||||
| -rw-r--r-- | .github/workflows/builds.yml | 75 | ||||
| -rwxr-xr-x | .github/workflows/debian.sh | 38 | ||||
| -rwxr-xr-x | .github/workflows/fedora.sh | 36 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 24 | ||||
| -rwxr-xr-x | .github/workflows/ubuntu.sh | 38 | ||||
| -rw-r--r-- | .travis.yml | 48 | ||||
| -rw-r--r-- | configure.ac | 3 |
11 files changed, 294 insertions, 121 deletions
diff --git a/.build.yml b/.build.yml deleted file mode 100644 index 75922a3..0000000 --- a/.build.yml +++ /dev/null @@ -1,72 +0,0 @@ -########################################################## -# THE FOLLOWING LINES IS USED BY docker-build -########################################################## -requires: - archlinux: - # Useful URL: https://git.archlinux.org/svntogit/community.git/tree/mate-icon-theme - - gcc - - git - - icon-naming-utils - - imagemagick - - inkscape - - make - - mate-common - - which - - debian: - # Useful URL: https://github.com/mate-desktop/debian-packages - # Useful URL: https://salsa.debian.org/debian-mate-team/mate-icon-theme - - autopoint - - git - - icon-naming-utils - - inkscape - - imagemagick - - librsvg2-bin - - make - - mate-common - - fedora: - # Useful URL: https://src.fedoraproject.org/cgit/rpms/mate-icon-theme.git - - gcc - - git - - icon-naming-utils - - ImageMagick - - inkscape - - make - - mate-common - - redhat-rpm-config - - ubuntu: - - autopoint - - git - - icon-naming-utils - - imagemagick - - inkscape - - librsvg2-bin - - make - - mate-common - -variables: - - CFLAGS="-Wall -Werror=format-security" - -before_scripts: - - if [ ${DISTRO_NAME} == "debian" ];then - - curl -Ls -o debian.sh https://github.com/mate-desktop/mate-dev-scripts/raw/master/travis/debian.sh - - bash ./debian.sh - - fi - -after_scripts: - - make distcheck - -releases: - draft: false - prerelease: false - checksum: true - file_glob: true - files: mate-icon-theme-*.tar.xz - github_release: - tags: true - overwrite: true - base_version: 1.20.0 - notify_servers: - - https://release.mate-desktop.org/release diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..80851cd --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +# Enable dependabot to keep our GHA pins automatically +# updated, so we don't fall too far behind in the future +version: 2 +updates: + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly diff --git a/.github/workflows/archlinux.sh b/.github/workflows/archlinux.sh new file mode 100755 index 0000000..e726771 --- /dev/null +++ b/.github/workflows/archlinux.sh @@ -0,0 +1,35 @@ +#!/usr/bin/bash + +set -eo pipefail + +# Use grouped output messages +infobegin() { + echo "::group::${1}" +} +infoend() { + echo "::endgroup::" +} + +# Required packages on Archlinux +requires=( + ccache # Use ccache to speed up build + clang # Build with clang on Archlinux +) + +# https://gitlab.archlinux.org/archlinux/packaging/packages/mate-icon-theme +requires+=( + gcc + git + icon-naming-utils + make + mate-common + which +) + +infobegin "Update system" +pacman --noconfirm -Syu +infoend + +infobegin "Install dependency packages" +pacman --noconfirm -S ${requires[@]} +infoend diff --git a/.github/workflows/builds.sh b/.github/workflows/builds.sh new file mode 100755 index 0000000..b192d97 --- /dev/null +++ b/.github/workflows/builds.sh @@ -0,0 +1,38 @@ +#!/usr/bin/bash + +set -e +set -o pipefail + +CPUS=$(grep processor /proc/cpuinfo | wc -l) + +# Use grouped output messages +infobegin() { + echo "::group::${1}" +} +infoend() { + echo "::endgroup::" +} + +if [ -f autogen.sh ]; then + infobegin "Configure (autotools)" + NOCONFIGURE=1 ./autogen.sh + ./configure --prefix=/usr --enable-compile-warnings=maximum || { + cat config.log + exit 1 + } + infoend + + infobegin "Build (autotools)" + make -j ${CPUS} + infoend + + infobegin "Check (autotools)" + make -j ${CPUS} check || { + true + } + infoend + + infobegin "Distcheck (autotools)" + make -j ${CPUS} distcheck + infoend +fi diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml new file mode 100644 index 0000000..b7d7864 --- /dev/null +++ b/.github/workflows/builds.yml @@ -0,0 +1,75 @@ +name: CI Build + +on: + push: + branches: + - master + pull_request: + branches: + - master + workflow_dispatch: + +# cancel already running builds of the same branch or pull request +concurrency: + group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.head_ref || github.sha }} + cancel-in-progress: true + + +jobs: + build: + name: Build on ${{matrix.container}} (using ${{matrix.cc}}) + runs-on: ubuntu-latest + container: + image: ${{matrix.container}} + + 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 + - name: Install dependency packages + run: .github/workflows/${{ env.DISTRO }}.sh + - name: Enable ccache to speed up builds + uses: hendrikmuhs/[email protected] + with: + key: ${{ env.DISTRO }}-${{ matrix.cc }} + + - name: Build the source code + run: .github/workflows/builds.sh diff --git a/.github/workflows/debian.sh b/.github/workflows/debian.sh new file mode 100755 index 0000000..f42a78e --- /dev/null +++ b/.github/workflows/debian.sh @@ -0,0 +1,38 @@ +#!/usr/bin/bash + +set -eo pipefail + +# Use grouped output messages +infobegin() { + echo "::group::${1}" +} +infoend() { + echo "::endgroup::" +} + +# Required packages on Debian +requires=( + ccache # Use ccache to speed up build +) + +# https://salsa.debian.org/debian-mate-team/mate-icon-theme +requires+=( + autopoint + git + icon-naming-utils + inkscape + imagemagick + librsvg2-bin + make + mate-common +) + +infobegin "Update system" +apt-get update -qq +infoend + +infobegin "Install dependency packages" +env DEBIAN_FRONTEND=noninteractive \ + apt-get install --assume-yes \ + ${requires[@]} +infoend diff --git a/.github/workflows/fedora.sh b/.github/workflows/fedora.sh new file mode 100755 index 0000000..29e4571 --- /dev/null +++ b/.github/workflows/fedora.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash + +set -eo pipefail + +# Use grouped output messages +infobegin() { + echo "::group::${1}" +} +infoend() { + echo "::endgroup::" +} + +# Required packages on Fedora +requires=( + ccache # Use ccache to speed up build +) + +# https://src.fedoraproject.org/cgit/rpms/mate-icon-theme.git +requires+=( + gcc + git + icon-naming-utils + ImageMagick + inkscape + make + mate-common + redhat-rpm-config +) + +infobegin "Update system" +dnf update -y +infoend + +infobegin "Install dependency packages" +dnf install -y ${requires[@]} +infoend diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..33cbf0e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,24 @@ +name: Release Version +on: + push: + tags: + - "v*.*.*" + +jobs: + release: + name: Release New Version + runs-on: ubuntu-latest + steps: + - name: Repository checkout + uses: actions/checkout@v5 + + - name: Install dependency packages + run: sudo .github/workflows/ubuntu.sh + + - name: Build the source code + run: .github/workflows/builds.sh autotools + - name: Create github release + run: | + gh release create ${{ github.ref_name }} --title ${{ github.ref_name }} --generate-notes mate-icon-theme-*.tar.xz + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/ubuntu.sh b/.github/workflows/ubuntu.sh new file mode 100755 index 0000000..aa86dfd --- /dev/null +++ b/.github/workflows/ubuntu.sh @@ -0,0 +1,38 @@ +#!/usr/bin/bash + +set -eo pipefail + +# Use grouped output messages +infobegin() { + echo "::group::${1}" +} +infoend() { + echo "::endgroup::" +} + +# Required packages on Ubuntu +requires=( + ccache # Use ccache to speed up build +) + +# https://git.launchpad.net/ubuntu/+source/mate-icon-theme/tree/debian/control +requires+=( + autopoint + git + icon-naming-utils + imagemagick + inkscape + librsvg2-bin + make + mate-common +) + +infobegin "Update system" +apt-get update -y +infoend + +infobegin "Install dependency packages" +env DEBIAN_FRONTEND=noninteractive \ + apt-get install --assume-yes \ + ${requires[@]} +infoend diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5093b25..0000000 --- a/.travis.yml +++ /dev/null @@ -1,48 +0,0 @@ -# vim: set ts=2 sts=2 sw=2 expandtab : -dist: jammy -language: shell -os: linux -services: - - docker -addons: - apt: - packages: - - python3-pip - - python3-setuptools - -before_install: - - curl -Ls -o docker-build https://github.com/mate-desktop/mate-dev-scripts/raw/master/travis/docker-build - - chmod +x docker-build - -install: - - pip3 install PyGithub - - ./docker-build --name ${DISTRO} --config .build.yml --install - -script: - - ./docker-build --name ${DISTRO} --verbose --config .build.yml --build autotools - -notifications: - irc: - if: (tag OR branch = master) AND - repo = "mate-desktop/mate-icon-theme" - channels: - - "irc.libera.chat#mate-dev" - template: - - "[%{repository_name}] %{author}: %{commit_subject}" - - "[%{branch}] %{commit} %{message} %{build_url}" - on_success: never - on_failure: always - -deploy: - - provider: script - edge: true - script: ./docker-build --verbose --config .build.yml --release github - on: - tags: true - condition: "${TRAVIS_TAG} =~ ^v.*$ && ${DISTRO} =~ ^fedora.*$" - -env: -# - DISTRO="archlinux:latest" - - DISTRO="debian:testing" - - DISTRO="fedora:latest" -# - DISTRO="ubuntu:rolling" diff --git a/configure.ac b/configure.ac index daeebdd..7d75bf4 100644 --- a/configure.ac +++ b/configure.ac @@ -6,6 +6,7 @@ AC_CONFIG_SRCDIR([index.theme.in.in]) AM_EXTRA_RECURSIVE_TARGETS([clean-png-icons build-png-icons]) AM_INIT_AUTOMAKE([1.9 tar-ustar dist-xz no-dist-gzip foreign check-news]) +AC_CONFIG_MACRO_DIR([m4]) PKG_PROG_PKG_CONFIG([0.19]) @@ -19,7 +20,7 @@ localedir='$(datadir)/locale' AC_SUBST(localedir) # Workaround to make aclocal get the right flags -AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}") +AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 \${ACLOCAL_FLAGS}") # Define the toplevel path here AC_SUBST(themedir, "\${datadir}/icons/mate") |
