build(deps): bump criterion from 0.8.0 to 0.8.1 #4738
Workflow file for this run
This file contains hidden or 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
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| name: Windows | |
| jobs: | |
| build-deps: | |
| name: Build dependencies with MSVC | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/cache@v4 | |
| id: cache | |
| with: | |
| path: c:/gnome | |
| key: ${{ runner.os }}-gtk-rs-core-msvc-20 | |
| restore-keys: | | |
| ${{ runner.os }}-gtk-rs-core-msvc-20 | |
| - name: Set up the PATH environment | |
| run: | | |
| echo "C:\pkg-config-lite-0.28-1\bin" >> $GITHUB_PATH | |
| echo "C:\gnome\bin" >> $GITHUB_PATH | |
| shell: bash | |
| - name: Install pkgconfig-lite | |
| run: | | |
| Invoke-WebRequest -UserAgent "Wget" -Uri https://downloads.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip -OutFile /pkg_config_lite.zip -MaximumRetryCount 5 | |
| Expand-Archive /pkg_config_lite.zip -DestinationPath C:\ | |
| pkg-config --version | |
| - name: Clone dependencies | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| shell: bash | |
| run: | | |
| cd /c | |
| git clone https://github.com/madler/zlib.git --depth 1 | |
| git clone https://github.com/pnggroup/libpng.git --depth 1 --branch libpng16 | |
| git clone https://gitlab.freedesktop.org/pixman/pixman.git --depth 1 | |
| git clone https://gitlab.freedesktop.org/freetype/freetype.git --depth 1 | |
| git clone https://gitlab.gnome.org/GNOME/glib.git --depth 1 | |
| git clone https://github.com/harfbuzz/harfbuzz.git --depth 1 | |
| git clone https://gitlab.freedesktop.org/cairo/cairo.git --depth 1 | |
| git clone https://github.com/fribidi/fribidi.git --depth 1 | |
| git clone https://gitlab.gnome.org/GNOME/pango.git --depth 1 | |
| git clone https://gitlab.gnome.org/GNOME/gdk-pixbuf.git --depth 1 | |
| git clone https://github.com/ebassi/graphene.git --depth 1 | |
| - name: Setup Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.x" | |
| - name: Install Python Dependencies | |
| run: pip install meson ninja setuptools packaging | |
| - name: Setup MSVC | |
| uses: bus1/cabuild/action/msdevshell@v1 | |
| with: | |
| architecture: x64 | |
| - name: Set PKG_CONFIG_PATH | |
| shell: bash | |
| run: | | |
| echo "PKG_CONFIG_PATH=C:/gnome/lib/pkgconfig" >> $GITHUB_ENV | |
| - name: Remove conflicting link.exe from Git | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| shell: bash | |
| run: | | |
| rm -f "/c/Program Files/Git/usr/bin/link.exe" | |
| - name: Build and install dependencies | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| shell: bash | |
| run: | | |
| # Build zlib | |
| cd /c/zlib | |
| cmake -S . -B builddir -DCMAKE_INSTALL_PREFIX=C:/gnome -DCMAKE_BUILD_TYPE=Release | |
| cmake --build builddir --config Release | |
| cmake --install builddir --config Release | |
| # Build libpng | |
| cd /c/libpng | |
| cmake -S . -B builddir -DCMAKE_INSTALL_PREFIX=C:/gnome -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=C:/gnome -DPNG_TESTS=OFF | |
| cmake --build builddir --config Release | |
| cmake --install builddir --config Release | |
| # Build pixman | |
| cd /c/pixman | |
| meson setup builddir --prefix=C:/gnome -Dtests=disabled | |
| meson install -C builddir | |
| # Build FreeType (without HarfBuzz first) | |
| cd /c/freetype | |
| meson setup builddir --prefix=C:/gnome -Dharfbuzz=disabled -Dpng=enabled -Dzlib=enabled | |
| meson install -C builddir | |
| # Build GLib | |
| cd /c/glib | |
| meson setup builddir --prefix=C:/gnome -Dtests=false -Dsysprof=disabled | |
| meson install -C builddir | |
| # Build HarfBuzz | |
| cd /c/harfbuzz | |
| meson setup builddir --prefix=C:/gnome -Dtests=disabled -Ddocs=disabled -Dcairo=disabled -Dglib=enabled -Dfreetype=enabled | |
| meson install -C builddir | |
| # Rebuild FreeType with HarfBuzz | |
| cd /c/freetype | |
| meson setup builddir --prefix=C:/gnome -Dharfbuzz=enabled -Dpng=enabled -Dzlib=enabled --wipe | |
| meson install -C builddir | |
| # Build cairo | |
| cd /c/cairo | |
| meson setup builddir --prefix=C:/gnome -Dtests=disabled -Dglib=enabled | |
| meson install -C builddir | |
| # Build Fribidi | |
| cd /c/fribidi | |
| meson setup builddir --prefix=C:/gnome -Dtests=false -Ddocs=false | |
| meson install -C builddir | |
| # Build Pango | |
| cd /c/pango | |
| meson setup builddir --prefix=C:/gnome -Dintrospection=disabled -Dbuild-testsuite=false -Dbuild-examples=false | |
| meson install -C builddir | |
| # Build gdk-pixbuf | |
| cd /c/gdk-pixbuf | |
| meson setup builddir --prefix=C:/gnome -Dtests=false -Dintrospection=disabled -Dman=false | |
| meson install -C builddir | |
| # Build graphene | |
| cd /c/graphene | |
| meson setup builddir --prefix=C:/gnome -Dtests=false -Dintrospection=disabled | |
| meson install -C builddir | |
| build: | |
| name: Build gtk-rs on Windows | |
| runs-on: windows-latest | |
| needs: build-deps | |
| strategy: | |
| matrix: | |
| conf: | |
| - { name: "cairo", test: true, args: "--features png,pdf,svg,ps,use_glib,v1_16,freetype,script,win32-surface" } | |
| - { name: "gdk-pixbuf", test: true, args: "--features v2_42" } | |
| - { name: "gio", test: true, args: "--features v2_80" } | |
| - { name: "glib", test: true, args: "--features v2_80" } | |
| - { name: "glib-build-tools", test: false, args: "" } | |
| - { name: "graphene", test: false, args: "" } | |
| - { name: "pango", test: true, args: "--features v1_52" } | |
| - { name: "pangocairo", test: true, args: "" } | |
| - { name: "examples", test: false, args: "--bins --examples --all-features" } | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/cache@v4 | |
| id: cache | |
| with: | |
| path: c:/gnome | |
| key: ${{ runner.os }}-gtk-rs-core-msvc-20 | |
| restore-keys: | | |
| ${{ runner.os }}-gtk-rs-core-msvc-20 | |
| - name: Set up env | |
| run: | | |
| echo "PKG_CONFIG=C:\pkg-config-lite-0.28-1\bin\pkg-config.exe" >> $GITHUB_ENV | |
| echo "PKG_CONFIG_PATH=C:/gnome/lib/pkgconfig" >> $GITHUB_ENV | |
| echo "C:\pkg-config-lite-0.28-1\bin" >> $GITHUB_PATH | |
| echo "C:\gnome\bin" >> $GITHUB_PATH | |
| shell: bash | |
| - name: Install pkgconfig-lite | |
| run: | | |
| Invoke-WebRequest -UserAgent "Wget" -Uri https://downloads.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip -OutFile /pkg_config_lite.zip -MaximumRetryCount 5 | |
| Expand-Archive /pkg_config_lite.zip -DestinationPath C:\ | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| default: true | |
| - name: test | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: test | |
| args: --manifest-path ${{ matrix.conf.name }}/Cargo.toml ${{ matrix.conf.args }} | |
| if: matrix.conf.test | |
| - name: test sys | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: test | |
| args: --manifest-path ${{ matrix.conf.name }}/sys/Cargo.toml ${{ matrix.conf.args }} | |
| if: matrix.conf.name != 'examples' && matrix.conf.name != 'glib-build-tools' | |
| - name: build | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: build | |
| args: --manifest-path ${{ matrix.conf.name }}/Cargo.toml ${{ matrix.conf.args }} |