Gitweb links:
...log
http://git.netsurf-browser.org/libdom.git/shortlog/f69781e1f062444b5af3f62d431d7d94018da53b
...commit
http://git.netsurf-browser.org/libdom.git/commit/f69781e1f062444b5af3f62d431d7d94018da53b
...tree
http://git.netsurf-browser.org/libdom.git/tree/f69781e1f062444b5af3f62d431d7d94018da53b
The branch, master has been updated
via f69781e1f062444b5af3f62d431d7d94018da53b (commit)
via 52889522ced6f6c1053c1e8a7d8d547a0a1d849f (commit)
via 4d62e012995929c5d5711051b30b89f998590e94 (commit)
from 5b7073f9d7e7e78b601d89fc3f9f7c4479bcccce (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/libdom.git/commit/?id=f69781e1f062444b5af3f62d431d7d94018da53b
commit f69781e1f062444b5af3f62d431d7d94018da53b
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>
ci: actions: Add cross compilation jobs
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 12e02cc..87c33f1 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -1,10 +1,11 @@
-name: "Linux Build"
+name: "Build"
on: [push]
jobs:
+ # Native linux builds
linux:
- name: '${{ matrix.os }}: ${{ matrix.compiler.vendor }}'
+ name: 'Linux: ${{ matrix.os }}: ${{ matrix.compiler.vendor }}'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
@@ -87,3 +88,160 @@ jobs:
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)"
commitdiff
http://git.netsurf-browser.org/libdom.git/commit/?id=52889522ced6f6c1053c1e8a7d8d547a0a1d849f
commit 52889522ced6f6c1053c1e8a7d8d547a0a1d849f
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>
ci: actions: Use matching branch name for deps if available
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index a2c8488..12e02cc 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -60,7 +60,7 @@ jobs:
run: |
export TARGET_WORKSPACE="$(pwd)/projects"
source projects/env.sh
- ns-clone -d -s
+ ns-clone -d -s -b ${GITHUB_REF_NAME}
ns-make-libs install
- name: Build Library
commitdiff
http://git.netsurf-browser.org/libdom.git/commit/?id=4d62e012995929c5d5711051b30b89f998590e94
commit 4d62e012995929c5d5711051b30b89f998590e94
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>
ci: actions: Update to checkout v6
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index cb4eda1..a2c8488 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -22,7 +22,7 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v6
with:
fetch-depth: 1
-----------------------------------------------------------------------
Summary of changes:
.github/workflows/build.yaml | 166 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 162 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index cb4eda1..87c33f1 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -1,10 +1,11 @@
-name: "Linux Build"
+name: "Build"
on: [push]
jobs:
+ # Native linux builds
linux:
- name: '${{ matrix.os }}: ${{ matrix.compiler.vendor }}'
+ name: 'Linux: ${{ matrix.os }}: ${{ matrix.compiler.vendor }}'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
@@ -22,7 +23,7 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v6
with:
fetch-depth: 1
@@ -60,7 +61,7 @@ jobs:
run: |
export TARGET_WORKSPACE="$(pwd)/projects"
source projects/env.sh
- ns-clone -d -s
+ ns-clone -d -s -b ${GITHUB_REF_NAME}
ns-make-libs install
- name: Build Library
@@ -87,3 +88,160 @@ jobs:
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)"
--
Document Object Model library