Skip to content

Commit

Permalink
Work on build-tarball.
Browse files Browse the repository at this point in the history
  • Loading branch information
bhaible committed May 16, 2024
1 parent 74cee2e commit f8d4559
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 90 deletions.
153 changes: 80 additions & 73 deletions .github/workflows/many-platforms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ on:
schedule:
# Doc: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
# POSIX cron syntax: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07
- cron: '53 4 * * 1'
- cron: '17 2 * * 1'

# Variables.
env:
Expand All @@ -63,18 +63,25 @@ jobs:
with:
name: logs-build-tarball-failed
path: |
${{ env.package }}/config.cache
${{ env.package }}/config.log
${{ env.package }}/config.status
${{ env.package }}/log[1234]
testdir-all/config.cache
testdir-all/config.log
testdir-all/config.status
retention-days: 7
overwrite: true
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- uses: actions/upload-artifact@v4
with:
name: tarball
path: ${{ env.package }}/${{ env.package }}-*.tar.gz
path: testdir-all.tar.gz
if-no-files-found: error
retention-days: 7
compression-level: 0
overwrite: true
- uses: actions/upload-artifact@v4
with:
name: tarball-for-mingw
path: testdir-all-for-mingw.tar.gz
if-no-files-found: error
retention-days: 7
compression-level: 0
Expand Down Expand Up @@ -103,18 +110,18 @@ jobs:
- run: |
pwd
export CPPFLAGS="-Wall"
./build-on.sh '${{ env.package }}' '' 'make'
./build-on.sh 'testdir-all' '' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-linux-gnu-ubuntu
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-linux-gnu-centos:
Expand Down Expand Up @@ -144,18 +151,18 @@ jobs:
cd /work
ls -l
export CPPFLAGS="-Wall"
./build-on.sh '${{ env.package }}' '' 'make'
./build-on.sh 'testdir-all' '' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-linux-gnu-centos
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-linux-alpine:
Expand Down Expand Up @@ -185,18 +192,18 @@ jobs:
cd /work
ls -l
export CPPFLAGS="-Wall"
./build-on.sh '${{ env.package }}' '' 'make'
./build-on.sh 'testdir-all' '' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-linux-alpine
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-macos:
Expand Down Expand Up @@ -226,18 +233,18 @@ jobs:
- run: |
pwd
export CPPFLAGS="-Wall"
./build-on.sh '${{ env.package }}' '' 'make'
./build-on.sh 'testdir-all' '' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-${{ matrix.os }}
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-freebsd:
Expand Down Expand Up @@ -272,18 +279,18 @@ jobs:
ls -l
export CPPFLAGS="-I/usr/local/include -Wall"
export LDFLAGS="-L/usr/local/lib"
./build-on.sh '${{ env.package }}' '' 'make'
./build-on.sh 'testdir-all' '' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-freebsd
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-netbsd:
Expand Down Expand Up @@ -319,18 +326,18 @@ jobs:
ls -l
export CPPFLAGS="-I/usr/pkg/include -Wall"
export LDFLAGS="-L/usr/pkg/lib"
./build-on.sh '${{ env.package }}' '' 'make'
./build-on.sh 'testdir-all' '' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-netbsd
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-openbsd:
Expand Down Expand Up @@ -368,18 +375,18 @@ jobs:
ls -l
export CPPFLAGS="-I/usr/local/include -Wall"
export LDFLAGS="-L/usr/local/lib"
./build-on.sh '${{ env.package }}' '' 'make'
./build-on.sh 'testdir-all' '' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-openbsd
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-solaris11:
Expand Down Expand Up @@ -415,18 +422,18 @@ jobs:
ls -l
export CPPFLAGS="-Wall"
export CC="gcc -m64"
./build-on.sh '${{ env.package }}' '' 'make'
./build-on.sh 'testdir-all' '' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-solaris11
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-solaris11-omnios:
Expand Down Expand Up @@ -460,18 +467,18 @@ jobs:
pwd
ls -l
export CPPFLAGS="-Wall"
./build-on.sh '${{ env.package }}' '' 'gmake'
./build-on.sh 'testdir-all' '' 'gmake'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-solaris11-omnios
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-cygwin:
Expand Down Expand Up @@ -522,18 +529,18 @@ jobs:
- name: Build in Cygwin
run: |
export CPPFLAGS="-Wall"
./build-on.sh '${{ env.package }}' '' 'make'
./build-on.sh 'testdir-all' '' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-cygwin${{ matrix.bitness }}
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-mingw:
Expand All @@ -557,7 +564,7 @@ jobs:
# Doc: https://github.com/actions/download-artifact?tab=readme-ov-file#usage
- uses: actions/download-artifact@v4
with:
name: tarball
name: tarball-for-mingw
# Doc: https://github.com/cygwin/cygwin-install-action
- uses: cygwin/cygwin-install-action@v4
with:
Expand Down Expand Up @@ -587,18 +594,18 @@ jobs:
PATH=/usr/${{ matrix.bitness == 32 && 'i686' || 'x86_64' }}-w64-mingw32/sys-root/mingw/bin:$PATH
export CPPFLAGS="-Wall"
export CC=${{ matrix.bitness == 32 && 'i686' || 'x86_64' }}-w64-mingw32-gcc
./build-on.sh '${{ env.package }}' '--host=${{ matrix.bitness == 32 && 'i686' || 'x86_64' }}-w64-mingw32' 'make'
./build-on.sh 'testdir-all-for-mingw' '--host=${{ matrix.bitness == 32 && 'i686' || 'x86_64' }}-w64-mingw32' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-mingw${{ matrix.bitness }}
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
check-msvc:
Expand All @@ -622,7 +629,7 @@ jobs:
# Doc: https://github.com/actions/download-artifact?tab=readme-ov-file#usage
- uses: actions/download-artifact@v4
with:
name: tarball
name: tarball-for-mingw
# Doc: https://github.com/ilammy/msvc-dev-cmd
- uses: ilammy/msvc-dev-cmd@v1
with:
Expand Down Expand Up @@ -687,18 +694,18 @@ jobs:
export STRIP=":"
export AR="`pwd`/ar-lib lib"
export RANLIB=":"
./build-on.sh '${{ env.package }}' '--host=${{ matrix.bitness == 32 && 'i686' || 'x86_64' }}-w64-mingw32' 'make'
./build-on.sh 'testdir-all-for-mingw' '--host=${{ matrix.bitness == 32 && 'i686' || 'x86_64' }}-w64-mingw32' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-msvc${{ matrix.bitness }}
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
# This is not a platform-specific test, but very useful for finding bugs.
Expand Down Expand Up @@ -727,17 +734,17 @@ jobs:
export CC="clang -fsanitize=address,undefined,signed-integer-overflow,shift,integer-divide-by-zero"
export CFLAGS="-O0 -fno-omit-frame-pointer -ggdb"
export ASAN_OPTIONS="detect_leaks=0 abort_on_error=1 allocator_may_return_null=1"
./build-on.sh '${{ env.package }}' '' 'make'
./build-on.sh 'testdir-all' '' 'make'
# Doc: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
# https://github.com/actions/upload-artifact?tab=readme-ov-file#usage
- if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: logs-sanitized
path: |
${{ env.package }}-*/build/config.cache
${{ env.package }}-*/build/config.log
${{ env.package }}-*/build/config.status
${{ env.package }}-*/build/log[123]
testdir-all/build/config.cache
testdir-all/build/config.log
testdir-all/build/config.status
testdir-all/build/log[123]
retention-days: 7
overwrite: true
5 changes: 3 additions & 2 deletions build-on.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,11 @@ make="$3"
set -x

# Unpack the tarball.
tarfile=`echo "$package"-*.tar.gz`
tarfile="$package".tar.gz
packagedir=`echo "$tarfile" | sed -e 's/\.tar\.gz$//'`
tar xfz "$tarfile"
cd "$packagedir" || exit 1
test "$packagedir" = testdir-all || mv "$packagedir" testdir-all
cd testdir-all || exit 1

mkdir build
cd build
Expand Down
Loading

0 comments on commit f8d4559

Please sign in to comment.