Merge branch 'topic/1142' into 'master' #756
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 | |
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: Force Alire to use preinstalled MSYS2 | |
if: ${{ runner.os == 'Windows' }} | |
shell: bash | |
run: | | |
mkdir -p ~/.config/alire | |
echo '[msys2]' >> ~/.config/alire/config.toml | |
echo 'install_dir = "C:\\msys64"' >> ~/.config/alire/config.toml | |
- name: Install iconv and gmp (Windows only) | |
run: pacman --noconfirm -S mingw64/mingw-w64-x86_64-libiconv mingw64/mingw-w64-x86_64-gmp | |
if: ${{ runner.os == 'Windows' }} | |
shell: c:\msys64\usr\bin\bash.exe -l -e -o pipefail {0} | |
env: | |
MSYSTEM: MINGW64 | |
- 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-2023 | |
- name: Get GNAT toolchain with alire | |
uses: alire-project/setup-alire@v2 | |
with: | |
toolchain: gnat_native^13 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 | |
shell: bash | |
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/ |