Merge branch 'topic/1050' into 'master' #714
This file contains 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: | |
- master | |
name: Build binaries | |
jobs: | |
build: | |
name: Build and deploy | |
# The only purpose of this workflow is to upload builds, so do not run it | |
# in contexts when upload is impossible: only the official repository has | |
# the secrets to upload binaries to Bintray. | |
if: ${{ github.repository == 'AdaCore/libadalang' }} | |
strategy: | |
fail-fast: false | |
matrix: # Build debug and/or production | |
debug: [''] # '' if production, 'debug' for debug | |
os: [macos-11, ubuntu-20.04, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- run: git config --global core.autocrlf input | |
shell: bash | |
- name: Install iconv and gmp (Windows only) | |
if: ${{ runner.os == 'Windows' }} | |
uses: msys2/setup-msys2@v2 | |
with: | |
path-type: inherit | |
update: true | |
install: >- | |
mingw64/mingw-w64-x86_64-libiconv | |
mingw64/mingw-w64-x86_64-gmp | |
- name: Get libadalang | |
uses: actions/checkout@v3 | |
- name: Get gprbuild for libgpr | |
uses: actions/checkout@v3 | |
with: | |
repository: AdaCore/gprbuild | |
path: gprbuild | |
- name: Get gnatcoll core | |
uses: actions/checkout@v3 | |
with: | |
repository: AdaCore/gnatcoll-core | |
path: gnatcoll-core | |
- name: Get gnatcoll iconv/gmp | |
uses: actions/checkout@v3 | |
with: | |
repository: AdaCore/gnatcoll-bindings | |
path: gnatcoll-bindings | |
- name: Get langkit | |
uses: actions/checkout@v3 | |
with: | |
repository: AdaCore/langkit | |
path: langkit | |
fetch-depth: 0 # all branches | |
- name: Get gpr | |
uses: actions/checkout@v3 | |
with: | |
repository: AdaCore/gpr | |
path: gpr2 | |
ref: edge | |
- name: Get gprconfig kb | |
uses: actions/checkout@v3 | |
with: | |
repository: AdaCore/gprconfig_kb | |
path: gpr2/gprconfig_kb | |
- name: Get AdaSAT | |
uses: actions/checkout@v3 | |
with: | |
repository: AdaCore/AdaSAT | |
path: langkit/langkit/adasat | |
- name: Try to checkout langkit's branch | |
shell: bash | |
run: (cd langkit; git checkout ${{ github.ref }} || true) | |
- uses: actions/cache@v3 | |
with: | |
path: ./cached_gnat | |
key: ${{ runner.os }}-alire-2022 | |
- name: Get GNAT toolchain with alire | |
uses: alire-project/setup-alire@v2 | |
with: | |
toolchain: gnat_native^12 gprbuild^22 | |
toolchain_dir: ./cached_gnat | |
- name: Setup Python 3.10 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Build Libadalang and its dependencies (Windows) | |
if: ${{ runner.os == 'Windows' }} | |
shell: msys2 {0} | |
run: utils/gh-build-binaries.sh "${{ matrix.debug }}" ${{ runner.os }} | |
- name: Build Libadalang and its dependencies (non-Windows) | |
if: ${{ runner.os != 'Windows' }} | |
run: utils/gh-build-binaries.sh "${{ matrix.debug }}" ${{ runner.os }} | |
- name: Keep artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ runner.os }}-${{ matrix.debug }} | |
path: '*.tar.gz' | |
- name: AWS S3 upload | |
if: ${{ github.repository == 'AdaCore/libadalang' }} | |
env: | |
AWS_ACCESS_KEY_ID: ${{secrets.GHA_CACHE_ACCESS_KEY_ID}} | |
AWS_SECRET_ACCESS_KEY: ${{secrets.GHA_CACHE_SECRET}} | |
AWS_DEFAULT_REGION: eu-west-1 | |
run: | | |
aws s3 cp . s3://adacore-gha-tray-eu-west-1/libadalang/ --recursive --exclude "*" --include "*.tar.gz" --sse=AES256 | |
aws s3 ls s3://adacore-gha-tray-eu-west-1/libadalang/ |