diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7ba4ba7..1aa9165 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,7 +1,18 @@ # Test libsodiumd on all three platforms name: Test -on: [pull_request, push] +on: + push: + branches: + - 'upstream-*' + tags: + - 'v*' + pull_request: + branches: + - 'upstream-*' + # Do a periodic build (every Monday at 0600) to ensure integrity + schedule: + - cron: '0 6 * * 1' jobs: main: @@ -9,47 +20,44 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-18.04, macOS-10.15, windows-2019 ] - # DMD < 2.087.1 does not work on Mac OSX Catalina (10.15) because druntime used - # a private symbol, hence this is the minimum required version - # However, while compiling with DMD 2.087.1 works on Catalina, - # the distributed binary was not built with it until 2.090.0 - dc: [ dmd-master, ldc-master, dmd-latest, ldc-latest, dmd-2.090.0, ldc-1.17.0 ] - exclude: - # https://github.com/dlang/dub/issues/1914 - # https://github.com/dlang/dub/issues/1915 - - { os: windows-2019, dc: dmd-master } - - { os: windows-2019, dc: dmd-latest } - - { os: windows-2019, dc: dmd-2.090.0 } + include: + - { os: macos-latest, dc: ldc-latest } + - { os: ubuntu-latest, dc: dmd-latest } + - { os: ubuntu-latest, dc: ldc-latest } + # https://github.com/dlang/dub/issues/1914 + # https://github.com/dlang/dub/issues/1915 + # - { os: windows-latest, dc: dmd-latest } + # - { os: windows-latest, dc: ldc-latest } runs-on: ${{ matrix.os }} timeout-minutes: 30 steps: # Checkout this repository - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + with: + # For codecov + fetch-depth: 2 # Install the D compiler - name: Prepare compiler - uses: mihails-strasuns/setup-dlang@v1 + uses: dlang-community/setup-dlang@v1 with: compiler: ${{ matrix.dc }} - # Install os-specific packages - - name: '[Posix] Install dependencies' - if: runner.os == 'macOS' || runner.os == 'Linux' + # Install os-specific packages. + # We only need pkg-config and libsodium, which *might* already be installed. + # See https://github.com/actions/runner-images for included software / libraries + - name: '[Linux] Install dependencies' + if: runner.os == 'Linux' run: | - if [ '${{ runner.os }}' == 'macOS' ]; then - brew install pkg-config libsodium - elif [ '${{ runner.os }}' == 'Linux' ]; then - sudo add-apt-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install libsodium-dev - fi + sudo add-apt-repository ppa:ubuntu-toolchain-r/test + sudo apt-get update + sudo apt-get install libsodium-dev - name: '[Windows] Load libsodium from cache' id: cache-libsodium if: runner.os == 'Windows' - uses: actions/cache@v1 + uses: actions/cache@v4 with: path: ${{ github.workspace }}\lib\libsodium\x64\Release\v142\static\ key: libsodium-1.0.18 @@ -87,6 +95,6 @@ jobs: if %errorlevel% neq 0 exit /b %errorlevel% - name: 'Upload code coverage' - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v4 with: flags: unittests diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 31c1a19..0000000 --- a/.travis.yml +++ /dev/null @@ -1,45 +0,0 @@ -language: d - -# Trusty is Travis' default but reached EOL 2019-04-30 -dist: xenial - -# Poor man SemVer matching -branches: - only: - - /upstream-\S+/ - - /^v\d+\.(x|[\d]+)\.(x|[\d]+)([-|\+](\S+))?$/ - -os: - - linux - - osx - -# The libsodium provided in this package is rather ancient, -# but it will do as the API almost never changes -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - libsodium-dev - -# Install libsodium on Mac -before_install: - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install libsodium; fi - -d: - - dmd - - ldc - - dmd-2.085.1 - - ldc-1.14.0 - -matrix: - include: - - os: linux - addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - gdc-9 - - libsodium-dev - env: DC=gdc-9 diff --git a/README.md b/README.md index 7a93571..5c3da61 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ ## Libsodiumd: D bindings for libsodium -[![Build Status](https://travis-ci.com/geod24/libsodiumd.svg?branch=upstream-1.0.17)](https://travis-ci.com/geod24/libsodiumd) [![DUB Package](https://img.shields.io/dub/v/libsodiumd.svg)](https://code.dlang.org/packages/libsodiumd) Currently supported version: v1.0.18 (released 2019-05-31)