Skip to content

Add Julia tests to GitHub actions #22

Add Julia tests to GitHub actions

Add Julia tests to GitHub actions #22

name: JuliaCI
on:
push:
branches: [main]
paths-ignore:
- '*.md'
- 'LICENSE'
- '*.cff'
- '*.options'
- 'uno_ampl-completion.bash'
pull_request:
types: [opened, synchronize, ready_for_review, reopened]
# needed to allow julia-actions/cache to delete old caches that it has created
permissions:
actions: write
contents: read
jobs:
test:
name: Julia - ${{ github.event_name }}
runs-on: ubuntu-latest
steps:
- name: Checkout Uno
uses: actions/checkout@v4
# Install Julia 1.7 for BinaryBuilder. Note that this is an old version of
# Julia, but it is required for compatibility with BinaryBuilder.
- name: Install Julia 1.7
uses: julia-actions/setup-julia@v2
with:
version: "1.7"
arch: x64
# Set environment variables required by BinaryBuilder. The specific
# version of UNO_RELEASE is unimportant, since Uno_jll doesn't depend on it
- name: Set the environment variables
run: |
echo "UNO_RELEASE=1.1.1" >> $GITHUB_ENV
if [ "${{ github.event_name }}" = "pull_request" ]; then
echo "UNO_COMMIT=${{ github.event.pull_request.head.sha }}" >> $GITHUB_ENV
echo "UNO_URL=${{ github.event.pull_request.head.repo.clone_url }}" >> $GITHUB_ENV
else
echo "UNO_COMMIT=${{ github.sha }}" >> $GITHUB_ENV
echo "UNO_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV
fi
- name: Compile Uno_jll
run: |
julia --color=yes -e 'using Pkg; Pkg.add("BinaryBuilder")'
julia --color=yes .github/julia/build_tarballs_yggdrasil.jl x86_64-linux-gnu-libgfortran5 --verbose --deploy="local"
# Now install a newer version of Julia to actually test Uno_jll. We choose
# v1.10 because it is the current Long-Term Support (LTS).
- name: Install Julia LTS
uses: julia-actions/setup-julia@v2
with:
version: "1.10"
arch: x64
- name: Test .github/julia/runtests.jl
shell: julia --color=yes --project=.github/julia {0}
run: |
using Pkg
Pkg.instantiate()
Pkg.develop(path="/home/runner/.julia/dev/Uno_jll")
include(".github/julia/runtests.jl")