Gitweb links:

...log 
http://git.netsurf-browser.org/libsvgtiny.git/shortlog/073283b29dd800e4d938db42af7e131db848bf3b
...commit 
http://git.netsurf-browser.org/libsvgtiny.git/commit/073283b29dd800e4d938db42af7e131db848bf3b
...tree 
http://git.netsurf-browser.org/libsvgtiny.git/tree/073283b29dd800e4d938db42af7e131db848bf3b

The branch, master has been updated
       via  073283b29dd800e4d938db42af7e131db848bf3b (commit)
       via  f73e7b5f58b303d1023f1ca78bbc61a7e3b91352 (commit)
      from  48146a8265beb77d58472253356fb1359b13327b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/libsvgtiny.git/commit/?id=073283b29dd800e4d938db42af7e131db848bf3b
commit 073283b29dd800e4d938db42af7e131db848bf3b
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>

    ci: cross: Disable build for Atari

diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index effb52b..b6f8352 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -87,8 +87,8 @@ jobs:
           - arm-riscos-gnueabi
           - arm-unknown-riscos
           - i686-w64-mingw32
-          - m5475-atari-mint
-          - m68k-atari-mint
+          # - m5475-atari-mint -- We don't build SVGTiny for Atari
+          # - m68k-atari-mint  -- We don't build SVGTiny for Atari
           - m68k-unknown-amigaos
           - ppc-amigaos
           - x86_64-w64-mingw32


commitdiff 
http://git.netsurf-browser.org/libsvgtiny.git/commit/?id=f73e7b5f58b303d1023f1ca78bbc61a7e3b91352
commit f73e7b5f58b303d1023f1ca78bbc61a7e3b91352
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>

    ci: Add GitHub Actions workflows

diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000..effb52b
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,234 @@
+name: "Build"
+
+on: [push]
+
+jobs:
+  # Native linux builds
+  linux:
+    name: 'Linux: ${{ matrix.os }}: ${{ matrix.compiler.vendor }}'
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os:
+          - ubuntu-22.04
+          - ubuntu-24.04
+        compiler:
+          # The NetSurf build system can't find LLVM AR (it looks for it
+          # in /usr/lib instead of /usr/bin:
+          #     `make: /usr/lib/llvm-ar: No such file or directory`).
+          # So we need to make it explicit for llvm.
+          - { vendor: gnu,  CC: gcc,   AR: ar }
+          - { vendor: llvm, CC: clang, AR: llvm-ar }
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v6
+      with:
+        fetch-depth: 1
+
+    - name: apt-get install packages
+      run: sudo apt-get update -qq &&
+           sudo apt-get install --no-install-recommends -y
+               bison
+               build-essential
+               check
+               clang
+               flex
+               git
+               gperf
+               llvm
+               pkg-config
+
+    - name: Get env.sh
+      run: |
+           mkdir projects
+           wget -O projects/env.sh 
https://raw.githubusercontent.com/netsurf-browser/netsurf/refs/heads/master/docs/env.sh
+
+    - name: Build and install project deps
+      env:
+        CC: ${{ matrix.compiler.CC }}
+        AR: ${{ matrix.compiler.AR }}
+        TARGET: ${{ github.event.repository.name }}
+      run: |
+          export TARGET_WORKSPACE="$(pwd)/projects"
+          source projects/env.sh
+          ns-clone -d -s -b ${GITHUB_REF_NAME}
+          ns-make-libs install
+
+    - name: Build Library
+      env:
+        CC: ${{ matrix.compiler.CC }}
+        AR: ${{ matrix.compiler.AR }}
+        TARGET: ${{ github.event.repository.name }}
+      run: |
+          export TARGET_WORKSPACE="$(pwd)/projects"
+          source projects/env.sh
+          make -j"$(nproc)"
+
+    - name: Unit Tests
+      env:
+        CC: ${{ matrix.compiler.CC }}
+        AR: ${{ matrix.compiler.AR }}
+        TARGET: ${{ github.event.repository.name }}
+      run: |
+          export TARGET_WORKSPACE="$(pwd)/projects"
+          source projects/env.sh
+          make test
+
+  # Cross compile using toolchains built in the toolchains repo.
+  cross:
+    name: 'Cross: ${{ matrix.toolchain }}' # ATM toolchain unique across builds
+    runs-on: ubuntu-24.04 # Matches toolchains workflow
+    strategy:
+      fail-fast: false
+      matrix:
+        toolchain:
+          - arm-riscos-gnueabi
+          - arm-unknown-riscos
+          - i686-w64-mingw32
+          - m5475-atari-mint
+          - m68k-atari-mint
+          - m68k-unknown-amigaos
+          - ppc-amigaos
+          - x86_64-w64-mingw32
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v6
+      with:
+        fetch-depth: 1
+
+    - name: apt-get install packages
+      run: sudo apt-get update -qq &&
+           sudo apt-get install --no-install-recommends -y
+               bison
+               build-essential
+               ccache
+               check
+               clang
+               flex
+               git
+               gperf
+               jlha-utils
+               libcurl4-openssl-dev
+               libhtml-parser-perl
+               libjpeg-dev
+               libpng-dev
+               librsvg2-dev
+               llvm
+               nsis
+               pkg-config
+
+    - name: Get env.sh
+      run: |
+           mkdir projects
+           wget -O projects/env.sh 
https://raw.githubusercontent.com/netsurf-browser/netsurf/refs/heads/master/docs/env.sh
+
+
+    - name: ccache
+      uses: hendrikmuhs/[email protected]
+      with:
+        key: ${{ github.job }}-${{ matrix.toolchain }}
+        max-size: 128M
+
+    # look for toolchain for this branch name first, then default to master
+    - name: Download toolchain
+      run: |
+        set -e
+        
+        TOOLCHAIN_NAME="${{ matrix.toolchain }}"
+        BRANCH_NAME="${{ github.ref_name }}"
+        
+        # Function to try downloading toolchain from a specific tag
+        download_toolchain() {
+          local ref="$1"
+          local 
download_url="https://github.com/netsurf-browser/toolchains/releases/download/${ref}/${TOOLCHAIN_NAME}.tar.gz";
+          
+          echo "Trying to download toolchain from ref: $ref"
+          echo "URL: $download_url"
+          
+          if curl -f -L -o "${TOOLCHAIN_NAME}.tar.gz" "$download_url"; then
+            echo "Got toolchain with ref: $ref"
+            return 0
+          else
+            echo "Failed to download toolchain with ref: $ref"
+            return 1
+          fi
+        }
+        
+        # Try branch-specific toolchain first
+        safe_branch=$(echo "$BRANCH_NAME" | sed 's/[^a-zA-Z0-9._-]/-/g')
+        branch_tag="gh-${safe_branch}-unstable"
+        
+        if download_toolchain "$branch_tag"; then
+          echo "Downloaded branch-specific toolchain"
+        elif download_toolchain "gh-master-unstable"; then
+          echo "Downloaded fallback master toolchain"
+        else
+          echo "Failed to download any toolchain variant"
+          exit 1
+        fi
+
+    - name: Install toolchain
+      run: |
+        echo "Installing toolchain: ${{ matrix.toolchain }}"
+        sudo tar -xzf "${{ matrix.toolchain }}.tar.gz" -C /
+        rm "${{ matrix.toolchain }}.tar.gz"
+        echo "Toolchain testament:"
+        cat /opt/netsurf/${{ matrix.toolchain }}/BUILD_INFO.txt
+
+    - name: Build and install project libs
+      env:
+        HOST: "${{ matrix.toolchain }}"
+        TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as 
"$(pwd)/projects"
+        TARGET: ${{ github.event.repository.name }}
+        Q:
+      run: |
+        echo "HOST=$HOST"
+        echo "TARGET_WORKSPACE=$TARGET_WORKSPACE"
+        
+        echo "Looking for cross-compiler tools..."
+        echo "Expected path: /opt/netsurf/${HOST}/cross/bin/"
+        if [ -f "/opt/netsurf/${HOST}/cross/bin/${HOST}-gcc" ]; then
+          echo "Found: /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc"
+          echo "Testing if it's executable:"
+          /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc --version || echo "Failed 
to execute gcc --version"
+          echo "Testing dumpmachine output:"
+          /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc -dumpmachine || echo 
"Failed to execute gcc -dumpmachine"
+        else
+          echo "NOT FOUND: /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc"
+        fi
+        
+        echo "Sourcing env.sh with error checking..."
+        set -e  # Exit on any error
+        if ! source projects/env.sh; then
+          echo "env.sh failed with exit code $?"
+          exit 1
+        fi
+        echo "env.sh sourced successfully"
+        echo "BUILD=$BUILD"
+        echo "HOST=$HOST"
+        echo "TARGET_WORKSPACE=$TARGET_WORKSPACE"
+        echo "USE_CPUS=$USE_CPUS"
+
+        echo "Cloning libs..."
+        ns-clone -d -s -b ${GITHUB_REF_NAME}
+        echo "Building and installing tools..."
+        ns-make-tools install
+        echo "Building and installing libs..."
+        ns-make-libs install
+
+    - name: Build Library
+      env:
+        HOST: "${{ matrix.toolchain }}"
+        TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as 
"$(pwd)/projects"
+        Q:
+      run: |
+        echo "Sourcing env.sh with error checking..."
+        set -e  # Exit on any error
+        if ! source projects/env.sh; then
+          echo "env.sh failed with exit code $?"
+          exit 1
+        fi
+        make -j"$(nproc)"
diff --git a/.github/workflows/static-analysis.yaml 
b/.github/workflows/static-analysis.yaml
new file mode 100644
index 0000000..c313437
--- /dev/null
+++ b/.github/workflows/static-analysis.yaml
@@ -0,0 +1,60 @@
+name: "Static Analysis"
+
+on: [push]
+
+jobs:
+  codeql:
+    name: codeql
+    runs-on: ubuntu-22.04
+
+    strategy:
+      fail-fast: false
+      matrix:
+        language: ['cpp']
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v2
+      with:
+        fetch-depth: 1
+
+    - name: apt-get install packages
+      run: sudo apt-get update -qq &&
+           sudo apt-get install --no-install-recommends -y
+               bison
+               build-essential
+               check
+               clang
+               flex
+               git
+               gperf
+               llvm
+               pkg-config
+
+    - name: Get env.sh
+      run: |
+           mkdir projects
+           wget -O projects/env.sh 
https://raw.githubusercontent.com/netsurf-browser/netsurf/refs/heads/master/docs/env.sh
+
+    - name: Build and install project deps
+      env:
+        TARGET: ${{ github.event.repository.name }}
+      run: |
+          export TARGET_WORKSPACE="$(pwd)/projects"
+          source projects/env.sh
+          ns-clone -d -s
+          ns-make-libs install
+
+    - name: Initialize CodeQL
+      uses: github/codeql-action/init@v4
+      with:
+        languages: ${{ matrix.language }}
+
+    - name: Build Library
+      run: |
+          export TARGET_WORKSPACE="$(pwd)/projects"
+          source projects/env.sh
+          make -j"$(nproc)"
+
+    - name: Perform CodeQL Analysis
+      uses: github/codeql-action/analyze@v4


-----------------------------------------------------------------------

Summary of changes:
 .github/workflows/build.yaml           | 234 +++++++++++++++++++++++++++++++++
 .github/workflows/static-analysis.yaml |  60 +++++++++
 2 files changed, 294 insertions(+)
 create mode 100644 .github/workflows/build.yaml
 create mode 100644 .github/workflows/static-analysis.yaml

diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000..b6f8352
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,234 @@
+name: "Build"
+
+on: [push]
+
+jobs:
+  # Native linux builds
+  linux:
+    name: 'Linux: ${{ matrix.os }}: ${{ matrix.compiler.vendor }}'
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os:
+          - ubuntu-22.04
+          - ubuntu-24.04
+        compiler:
+          # The NetSurf build system can't find LLVM AR (it looks for it
+          # in /usr/lib instead of /usr/bin:
+          #     `make: /usr/lib/llvm-ar: No such file or directory`).
+          # So we need to make it explicit for llvm.
+          - { vendor: gnu,  CC: gcc,   AR: ar }
+          - { vendor: llvm, CC: clang, AR: llvm-ar }
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v6
+      with:
+        fetch-depth: 1
+
+    - name: apt-get install packages
+      run: sudo apt-get update -qq &&
+           sudo apt-get install --no-install-recommends -y
+               bison
+               build-essential
+               check
+               clang
+               flex
+               git
+               gperf
+               llvm
+               pkg-config
+
+    - name: Get env.sh
+      run: |
+           mkdir projects
+           wget -O projects/env.sh 
https://raw.githubusercontent.com/netsurf-browser/netsurf/refs/heads/master/docs/env.sh
+
+    - name: Build and install project deps
+      env:
+        CC: ${{ matrix.compiler.CC }}
+        AR: ${{ matrix.compiler.AR }}
+        TARGET: ${{ github.event.repository.name }}
+      run: |
+          export TARGET_WORKSPACE="$(pwd)/projects"
+          source projects/env.sh
+          ns-clone -d -s -b ${GITHUB_REF_NAME}
+          ns-make-libs install
+
+    - name: Build Library
+      env:
+        CC: ${{ matrix.compiler.CC }}
+        AR: ${{ matrix.compiler.AR }}
+        TARGET: ${{ github.event.repository.name }}
+      run: |
+          export TARGET_WORKSPACE="$(pwd)/projects"
+          source projects/env.sh
+          make -j"$(nproc)"
+
+    - name: Unit Tests
+      env:
+        CC: ${{ matrix.compiler.CC }}
+        AR: ${{ matrix.compiler.AR }}
+        TARGET: ${{ github.event.repository.name }}
+      run: |
+          export TARGET_WORKSPACE="$(pwd)/projects"
+          source projects/env.sh
+          make test
+
+  # Cross compile using toolchains built in the toolchains repo.
+  cross:
+    name: 'Cross: ${{ matrix.toolchain }}' # ATM toolchain unique across builds
+    runs-on: ubuntu-24.04 # Matches toolchains workflow
+    strategy:
+      fail-fast: false
+      matrix:
+        toolchain:
+          - arm-riscos-gnueabi
+          - arm-unknown-riscos
+          - i686-w64-mingw32
+          # - m5475-atari-mint -- We don't build SVGTiny for Atari
+          # - m68k-atari-mint  -- We don't build SVGTiny for Atari
+          - m68k-unknown-amigaos
+          - ppc-amigaos
+          - x86_64-w64-mingw32
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v6
+      with:
+        fetch-depth: 1
+
+    - name: apt-get install packages
+      run: sudo apt-get update -qq &&
+           sudo apt-get install --no-install-recommends -y
+               bison
+               build-essential
+               ccache
+               check
+               clang
+               flex
+               git
+               gperf
+               jlha-utils
+               libcurl4-openssl-dev
+               libhtml-parser-perl
+               libjpeg-dev
+               libpng-dev
+               librsvg2-dev
+               llvm
+               nsis
+               pkg-config
+
+    - name: Get env.sh
+      run: |
+           mkdir projects
+           wget -O projects/env.sh 
https://raw.githubusercontent.com/netsurf-browser/netsurf/refs/heads/master/docs/env.sh
+
+
+    - name: ccache
+      uses: hendrikmuhs/[email protected]
+      with:
+        key: ${{ github.job }}-${{ matrix.toolchain }}
+        max-size: 128M
+
+    # look for toolchain for this branch name first, then default to master
+    - name: Download toolchain
+      run: |
+        set -e
+        
+        TOOLCHAIN_NAME="${{ matrix.toolchain }}"
+        BRANCH_NAME="${{ github.ref_name }}"
+        
+        # Function to try downloading toolchain from a specific tag
+        download_toolchain() {
+          local ref="$1"
+          local 
download_url="https://github.com/netsurf-browser/toolchains/releases/download/${ref}/${TOOLCHAIN_NAME}.tar.gz";
+          
+          echo "Trying to download toolchain from ref: $ref"
+          echo "URL: $download_url"
+          
+          if curl -f -L -o "${TOOLCHAIN_NAME}.tar.gz" "$download_url"; then
+            echo "Got toolchain with ref: $ref"
+            return 0
+          else
+            echo "Failed to download toolchain with ref: $ref"
+            return 1
+          fi
+        }
+        
+        # Try branch-specific toolchain first
+        safe_branch=$(echo "$BRANCH_NAME" | sed 's/[^a-zA-Z0-9._-]/-/g')
+        branch_tag="gh-${safe_branch}-unstable"
+        
+        if download_toolchain "$branch_tag"; then
+          echo "Downloaded branch-specific toolchain"
+        elif download_toolchain "gh-master-unstable"; then
+          echo "Downloaded fallback master toolchain"
+        else
+          echo "Failed to download any toolchain variant"
+          exit 1
+        fi
+
+    - name: Install toolchain
+      run: |
+        echo "Installing toolchain: ${{ matrix.toolchain }}"
+        sudo tar -xzf "${{ matrix.toolchain }}.tar.gz" -C /
+        rm "${{ matrix.toolchain }}.tar.gz"
+        echo "Toolchain testament:"
+        cat /opt/netsurf/${{ matrix.toolchain }}/BUILD_INFO.txt
+
+    - name: Build and install project libs
+      env:
+        HOST: "${{ matrix.toolchain }}"
+        TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as 
"$(pwd)/projects"
+        TARGET: ${{ github.event.repository.name }}
+        Q:
+      run: |
+        echo "HOST=$HOST"
+        echo "TARGET_WORKSPACE=$TARGET_WORKSPACE"
+        
+        echo "Looking for cross-compiler tools..."
+        echo "Expected path: /opt/netsurf/${HOST}/cross/bin/"
+        if [ -f "/opt/netsurf/${HOST}/cross/bin/${HOST}-gcc" ]; then
+          echo "Found: /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc"
+          echo "Testing if it's executable:"
+          /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc --version || echo "Failed 
to execute gcc --version"
+          echo "Testing dumpmachine output:"
+          /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc -dumpmachine || echo 
"Failed to execute gcc -dumpmachine"
+        else
+          echo "NOT FOUND: /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc"
+        fi
+        
+        echo "Sourcing env.sh with error checking..."
+        set -e  # Exit on any error
+        if ! source projects/env.sh; then
+          echo "env.sh failed with exit code $?"
+          exit 1
+        fi
+        echo "env.sh sourced successfully"
+        echo "BUILD=$BUILD"
+        echo "HOST=$HOST"
+        echo "TARGET_WORKSPACE=$TARGET_WORKSPACE"
+        echo "USE_CPUS=$USE_CPUS"
+
+        echo "Cloning libs..."
+        ns-clone -d -s -b ${GITHUB_REF_NAME}
+        echo "Building and installing tools..."
+        ns-make-tools install
+        echo "Building and installing libs..."
+        ns-make-libs install
+
+    - name: Build Library
+      env:
+        HOST: "${{ matrix.toolchain }}"
+        TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as 
"$(pwd)/projects"
+        Q:
+      run: |
+        echo "Sourcing env.sh with error checking..."
+        set -e  # Exit on any error
+        if ! source projects/env.sh; then
+          echo "env.sh failed with exit code $?"
+          exit 1
+        fi
+        make -j"$(nproc)"
diff --git a/.github/workflows/static-analysis.yaml 
b/.github/workflows/static-analysis.yaml
new file mode 100644
index 0000000..c313437
--- /dev/null
+++ b/.github/workflows/static-analysis.yaml
@@ -0,0 +1,60 @@
+name: "Static Analysis"
+
+on: [push]
+
+jobs:
+  codeql:
+    name: codeql
+    runs-on: ubuntu-22.04
+
+    strategy:
+      fail-fast: false
+      matrix:
+        language: ['cpp']
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v2
+      with:
+        fetch-depth: 1
+
+    - name: apt-get install packages
+      run: sudo apt-get update -qq &&
+           sudo apt-get install --no-install-recommends -y
+               bison
+               build-essential
+               check
+               clang
+               flex
+               git
+               gperf
+               llvm
+               pkg-config
+
+    - name: Get env.sh
+      run: |
+           mkdir projects
+           wget -O projects/env.sh 
https://raw.githubusercontent.com/netsurf-browser/netsurf/refs/heads/master/docs/env.sh
+
+    - name: Build and install project deps
+      env:
+        TARGET: ${{ github.event.repository.name }}
+      run: |
+          export TARGET_WORKSPACE="$(pwd)/projects"
+          source projects/env.sh
+          ns-clone -d -s
+          ns-make-libs install
+
+    - name: Initialize CodeQL
+      uses: github/codeql-action/init@v4
+      with:
+        languages: ${{ matrix.language }}
+
+    - name: Build Library
+      run: |
+          export TARGET_WORKSPACE="$(pwd)/projects"
+          source projects/env.sh
+          make -j"$(nproc)"
+
+    - name: Perform CodeQL Analysis
+      uses: github/codeql-action/analyze@v4


-- 
NetSurf SVG decoder

Reply via email to