mirror of https://github.com/tstellar/bygfoot.git
Compare commits
2 Commits
build-impr
...
test-1.0.1
Author | SHA1 | Date |
---|---|---|
Tom Stellard | e7bff8a980 | |
Tom Stellard | e16a5077ca |
|
@ -10,35 +10,54 @@ on:
|
|||
|
||||
env:
|
||||
BYGFOOT_VERSION: "2.3.3-unofficial-git-${{ github.sha }}"
|
||||
UBUNTU_BUILD_DEPENDENCIES: libglib2.0-dev libgtk2.0-dev libpango1.0-dev libatk1.0-dev libfreetype6-dev ninja-build cmake libjson-c-dev unzip
|
||||
LINUX_BUILD_DEPENDENCIES: libglib2.0-dev libgtk2.0-dev libpango1.0-dev libatk1.0-dev libfreetype6-dev ninja-build cmake
|
||||
|
||||
jobs:
|
||||
package-linux:
|
||||
runs-on:
|
||||
- ubuntu-16.04
|
||||
- ubuntu-latest
|
||||
container:
|
||||
image: ${{ matrix.container-image }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
build-type:
|
||||
- full
|
||||
- minimal
|
||||
include:
|
||||
- build-type: full
|
||||
extra-deps: libjson-c-dev
|
||||
build-suffix: ""
|
||||
- build-type: minimal
|
||||
extra-deps: ""
|
||||
build-suffix: -minimal
|
||||
- name: ubuntu-16.04
|
||||
container-image: docker.io/ubuntu:16.04
|
||||
dependencies: "$UBUNTU_BUILD_DEPENDENCIES"
|
||||
test: true
|
||||
- name: ubuntu-18.04
|
||||
container-image: docker.io/ubuntu:18.04
|
||||
dependencies: "$UBUNTU_BUILD_DEPENDENCIES"
|
||||
test: true
|
||||
- name: ubuntu-20.04
|
||||
container-image: docker.io/ubuntu:20.04
|
||||
dependencies: "$UBUNTU_BUILD_DEPENDENCIES"
|
||||
test: true
|
||||
- name: ubuntu-20.10
|
||||
container-image: docker.io/ubuntu:20.10
|
||||
dependencies: "$UBUNTU_BUILD_DEPENDENCIES"
|
||||
test: true
|
||||
- name: ubuntu-21.04
|
||||
container-image: docker.io/ubuntu:21.04
|
||||
dependencies: "$UBUNTU_BUILD_DEPENDENCIES"
|
||||
test: true
|
||||
- name: linux
|
||||
container-image: docker.io/ubuntu:16.04
|
||||
dependencies: "$LINUX_BUILD_DEPENDENCIES"
|
||||
test: false
|
||||
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get install libglib2.0-dev libgtk2.0-dev libpango1.0-dev libatk1.0-dev libfreetype6-dev ninja-build
|
||||
|
||||
- name: Install extra dependencies
|
||||
if: ${{ matrix.extra-deps != '' }}
|
||||
run: sudo apt-get install ${{ matrix.extra-deps }}
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get -y install ${{ matrix.dependencies }}
|
||||
|
||||
- name: Package Bygfoot
|
||||
run: ./scripts/package.sh .
|
||||
|
@ -46,30 +65,22 @@ jobs:
|
|||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: "bygfoot-${{ env.BYGFOOT_VERSION }}-linux${{ matrix.build-suffix }}"
|
||||
name: "bygfoot-${{ env.BYGFOOT_VERSION }}-${{ matrix.name }}"
|
||||
path: "*.bz2"
|
||||
|
||||
test-linux:
|
||||
needs:
|
||||
- package-linux
|
||||
runs-on:
|
||||
- ubuntu-16.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/download-artifact@v2
|
||||
if: ${{ github.event_name == 'pull_request' && matrix.test }}
|
||||
with:
|
||||
name: "bygfoot-${{ env.BYGFOOT_VERSION }}-linux"
|
||||
|
||||
- name: Unpack binary package
|
||||
run: |
|
||||
ls
|
||||
tar -xjf bygfoot-${{ env.BYGFOOT_VERSION }}.tar.bz2
|
||||
path: tests-${{ matrix.name }}
|
||||
name: "bygfoot-${{ env.BYGFOOT_VERSION }}-${{ matrix.name }}"
|
||||
|
||||
- name: Run Tests
|
||||
if: ${{ github.event_name == 'pull_request' && matrix.test }}
|
||||
working-directory: tests-${{ matrix.name }}
|
||||
run: |
|
||||
bash ./test/test-load-save.sh ./bygfoot-${{ env.BYGFOOT_VERSION }}/bygfoot
|
||||
bash ./test/test-country-defs.sh ./bygfoot-${{ env.BYGFOOT_VERSION }}/bygfoot || true
|
||||
tar -xjf bygfoot-${{ env.BYGFOOT_VERSION }}.tar.bz2
|
||||
bash ../test/test-load-save.sh ./bygfoot-${{ env.BYGFOOT_VERSION }}/bygfoot
|
||||
bash ../test/test-country-defs.sh ./bygfoot-${{ env.BYGFOOT_VERSION }}/bygfoot || true
|
||||
|
||||
|
||||
package-windows:
|
||||
|
@ -115,3 +126,33 @@ jobs:
|
|||
with:
|
||||
name: "bygfoot-${{ env.BYGFOOT_VERSION }}-win64"
|
||||
path: "*.bz2"
|
||||
|
||||
create_release:
|
||||
if: ${{ startswith(github.ref, 'refs/tags') }}
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- package-linux
|
||||
- package-windows
|
||||
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
path: 'artifacts'
|
||||
|
||||
- name: Upload release assets
|
||||
if: ${{ github.event_name == 'release' }}
|
||||
shell: python
|
||||
run: |
|
||||
import github
|
||||
import os
|
||||
prerelease = False
|
||||
tag = '${{ github.ref }}'.split('/')[-1]
|
||||
if 'alpha' in tag or 'beta' in tag or 'rc' in tag:
|
||||
prerelease = True
|
||||
context = github.Github('${{ github.token }}')
|
||||
repo = context.get_repo('${{ github.repository }}')
|
||||
release = repo.create_git_release(tag = tag, name = tag, message = tag,
|
||||
prerelease = prerelease)
|
||||
for f in os.listdir('artifacts'):
|
||||
release.upload_asset(f)
|
||||
|
|
Loading…
Reference in New Issue