diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index f0dab1d..0000000 --- a/.appveyor.yml +++ /dev/null @@ -1,14 +0,0 @@ -version: 1.0.{build} -platform: - - x86 - -environment: - FORK_USER: ocaml - FORK_BRANCH: master - CYG_ROOT: C:\cygwin64 - -install: - - ps: iex ((new-object net.webclient).DownloadString("https://raw.githubusercontent.com/$env:FORK_USER/ocaml-ci-scripts/$env:FORK_BRANCH/appveyor-install.ps1")) - -build_script: - - call %CYG_ROOT%\bin\bash.exe -l %APPVEYOR_BUILD_FOLDER%\appveyor-opam.sh diff --git a/.gitattributes b/.gitattributes index 889eac6..606d56b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ export-ignore .gitattributes export-ignore .gitignore export-ignore .git-blame-ignore-revs +export-ignore .github diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..c935712 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,38 @@ +name: Main workflow + +on: + pull_request: + push: + schedule: + # Prime the caches every Monday + - cron: 0 1 * * MON + +jobs: + build: + strategy: + fail-fast: false + matrix: + os: + - macos-latest + - ubuntu-latest + - windows-latest + ocaml-compiler: + - 4.08.x + - 4.13.x + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Use OCaml ${{ matrix.ocaml-compiler }} + uses: ocaml/setup-ocaml@v2 + with: + ocaml-compiler: ${{ matrix.ocaml-compiler }} + + - run: opam install . --deps-only --with-test + + - run: opam exec -- dune build + + - run: opam exec -- dune runtest diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d1e7c73..0000000 --- a/.travis.yml +++ /dev/null @@ -1,74 +0,0 @@ -language: c -dist: trusty - -sudo: required - -services: - - docker - -matrix: - include: - - os: osx - env: OCAML_VERSION=4.05 - - os: osx - env: OCAML_VERSION=4.06 - - os: osx - env: OCAML_VERSION=4.07 - - os: osx - env: OCAML_VERSION=4.08 - - os: osx - env: OCAML_VERSION=4.09 - - os: linux - env: TYPE=ubuntu-lts OCAML_VERSION=4.05 - - os: linux - env: TYPE=ubuntu-lts OCAML_VERSION=4.06 - - os: linux - env: TYPE=ubuntu-lts OCAML_VERSION=4.07 - - os: linux - env: TYPE=ubuntu-lts OCAML_VERSION=4.08 - - os: linux - env: TYPE=ubuntu-lts OCAML_VERSION=4.09 - - os: linux - env: TYPE=ubuntu OCAML_VERSION=4.05 - - os: linux - env: TYPE=ubuntu OCAML_VERSION=4.06 - - os: linux - env: TYPE=ubuntu OCAML_VERSION=4.07 - - os: linux - env: TYPE=ubuntu OCAML_VERSION=4.08 - - os: linux - env: TYPE=ubuntu OCAML_VERSION=4.09 - - os: linux - env: TYPE=debian-stable OCAML_VERSION=4.05 - - os: linux - env: TYPE=debian-stable OCAML_VERSION=4.06 - - os: linux - env: TYPE=debian-stable OCAML_VERSION=4.07 - - os: linux - env: TYPE=debian-stable OCAML_VERSION=4.08 - - os: linux - env: TYPE=debian-stable OCAML_VERSION=4.09 - - os: linux - env: TYPE=centos OCAML_VERSION=4.05 - - os: linux - env: TYPE=centos OCAML_VERSION=4.06 - - os: linux - env: TYPE=centos OCAML_VERSION=4.07 - - os: linux - env: TYPE=fedora OCAML_VERSION=4.05 - - os: linux - env: TYPE=fedora OCAML_VERSION=4.06 - - os: linux - env: TYPE=fedora OCAML_VERSION=4.07 - - os: linux - env: TYPE=fedora OCAML_VERSION=4.08 - - os: linux - env: TYPE=fedora OCAML_VERSION=4.09 - allow_failures: - - os: osx - -install: - - source ./travis/install-deps - -script: - - bash ./travis/run-tests diff --git a/README.md b/README.md index 71e3e6a..a921d80 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build Status](https://travis-ci.org/cedlemo/OCaml-GObject-Introspection.svg?branch=master)](https://travis-ci.org/cedlemo/OCaml-GObject-Introspection) +[![Build Status](https://github.com/cedlemo/OCaml-GObject-Introspection/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/cedlemo/OCaml-GObject-Introspection/actions) [![License: GPL-3.0-or-later](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) diff --git a/travis/Dockerfile.centos b/travis/Dockerfile.centos deleted file mode 100644 index c0ac997..0000000 --- a/travis/Dockerfile.centos +++ /dev/null @@ -1,45 +0,0 @@ -FROM ocaml/opam2:centos - - RUN \ - sudo yum install -y epel-release -RUN \ - sudo yum install -y \ - gtk+-devel \ - glib-devel \ - gobject-introspection-devel \ - xorg-x11-server-Xvfb \ - which \ - git \ - darcs \ - mercurial \ - bzip2 \ - gcc \ - gcc-c++ \ - make \ - aspcud \ - m4 \ - unzip \ - openssl-devel \ - readline-devel \ - zlib-devel \ - dejavu-sans-fonts \ - gnome-icon-theme \ - adwaita-gtk2-theme \ - vte3 \ - webkitgtk \ - webkitgtk3 \ - libwebkit2-gtk \ - clutter-gtk \ - gtksourceview3 \ - dbus-x11 \ - wget \ - patch - -COPY . /home/opam/tests -RUN sudo chown -R opam:opam /home/opam/tests -WORKDIR /home/opam/tests -RUN opam switch $OCAML_VERSION -RUN eval $(opam env) -RUN ./travis/initialize_ocaml_environment.sh -RUN ./travis/show_versions.sh -CMD bash -ex ./travis/runtest.sh diff --git a/travis/Dockerfile.debian-stable b/travis/Dockerfile.debian-stable deleted file mode 100644 index 4d87633..0000000 --- a/travis/Dockerfile.debian-stable +++ /dev/null @@ -1,38 +0,0 @@ -FROM ocaml/opam2:debian-stable - -RUN \ - sudo apt update && \ - sudo apt install -y \ - libgtk-3-dev \ - libglib2.0-0 \ - xvfb \ - git \ - darcs \ - mercurial \ - wget \ - gcc \ - g++ \ - make \ - libssl-dev \ - libreadline-dev \ - gstreamer1.0-plugins-good \ - gnumeric \ - gnome-icon-theme \ - dbus-x11 \ - software-properties-common \ - aspcud \ - m4 \ - unzip \ - pkg-config \ - libgirepository1.0-dev \ - libffi6 \ - libffi-dev - -COPY . /home/opam/tests -RUN sudo chown -R opam:opam /home/opam/tests -WORKDIR /home/opam/tests -RUN opam switch $OCAML_VERSION -RUN eval $(opam env) -RUN ./travis/initialize_ocaml_environment.sh -RUN ./travis/show_versions.sh -CMD bash -ex ./travis/runtest.sh diff --git a/travis/Dockerfile.fedora b/travis/Dockerfile.fedora deleted file mode 100644 index 1c486cf..0000000 --- a/travis/Dockerfile.fedora +++ /dev/null @@ -1,34 +0,0 @@ -FROM ocaml/opam2:fedora - -RUN \ - sudo dnf install -y \ - gtk+-devel \ - glib-devel \ - gobject-introspection-devel \ - xorg-x11-server-Xvfb \ - darcs \ - mercurial \ - m4 \ - openssl-devel \ - readline-devel \ - zlib-devel \ - dejavu-sans-fonts \ - gnome-icon-theme \ - adwaita-gtk2-theme \ - vte \ - vte-devel \ - vte291 \ - vte291-devel \ - clutter-gtk \ - gtksourceview3 \ - dbus-x11 \ - wget - -COPY . /home/opam/tests -RUN sudo chown -R opam:opam /home/opam/tests -WORKDIR /home/opam/tests -RUN opam switch $OCAML_VERSION -RUN eval $(opam env) -RUN ./travis/initialize_ocaml_environment.sh -RUN ./travis/show_versions.sh -CMD bash -ex ./travis/runtest.sh diff --git a/travis/Dockerfile.ubuntu b/travis/Dockerfile.ubuntu deleted file mode 100644 index 286bf02..0000000 --- a/travis/Dockerfile.ubuntu +++ /dev/null @@ -1,38 +0,0 @@ -FROM ocaml/opam2:ubuntu - -RUN \ - sudo apt update && \ - sudo DEBIAN_FRONTEND=noninteractive apt install -y \ - libgtk-3-dev \ - libglib2.0-0 \ - xvfb \ - git \ - darcs \ - mercurial \ - wget \ - gcc \ - g++ \ - make \ - libssl-dev \ - libreadline-dev \ - gstreamer1.0-plugins-good \ - gnumeric \ - gnome-icon-theme \ - dbus-x11 \ - software-properties-common \ - aspcud \ - m4 \ - unzip \ - pkg-config \ - libgirepository1.0-dev \ - libffi6 \ - libffi-dev - -COPY . /home/opam/tests -RUN sudo chown -R opam:opam /home/opam/tests -WORKDIR /home/opam/tests -RUN opam switch $OCAML_VERSION -RUN eval $(opam env) -RUN ./travis/initialize_ocaml_environment.sh -RUN ./travis/show_versions.sh -CMD bash -ex ./travis/runtest.sh diff --git a/travis/Dockerfile.ubuntu-lts b/travis/Dockerfile.ubuntu-lts deleted file mode 100644 index 2b193f3..0000000 --- a/travis/Dockerfile.ubuntu-lts +++ /dev/null @@ -1,38 +0,0 @@ -FROM ocaml/opam2:ubuntu-lts - -RUN \ - sudo apt update && \ - sudo apt install -y \ - libgtk-3-dev \ - libglib2.0-0 \ - xvfb \ - git \ - darcs \ - mercurial \ - wget \ - gcc \ - g++ \ - make \ - libssl-dev \ - libreadline-dev \ - gstreamer1.0-plugins-good \ - gnumeric \ - gnome-icon-theme \ - dbus-x11 \ - software-properties-common \ - aspcud \ - m4 \ - unzip \ - pkg-config \ - libgirepository1.0-dev \ - libffi6 \ - libffi-dev - -COPY . /home/opam/tests -RUN sudo chown -R opam:opam /home/opam/tests -WORKDIR /home/opam/tests -RUN opam switch $OCAML_VERSION -RUN eval $(opam env) -RUN ./travis/initialize_ocaml_environment.sh -RUN ./travis/show_versions.sh -CMD bash -ex ./travis/runtest.sh diff --git a/travis/initialize_ocaml_environment.sh b/travis/initialize_ocaml_environment.sh deleted file mode 100755 index fe2298a..0000000 --- a/travis/initialize_ocaml_environment.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -opam install ctypes configurator base stdio ctypes-foreign jbuilder dune odoc bisect_ppx ounit diff --git a/travis/install-deps b/travis/install-deps deleted file mode 100644 index a08af32..0000000 --- a/travis/install-deps +++ /dev/null @@ -1,7 +0,0 @@ -#! /bin/bash - -if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - docker build -t ocaml-gi/${TYPE} -f travis/Dockerfile.${TYPE} . -elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - bash ./travis/install-macos-deps -fi diff --git a/travis/install-macos-deps b/travis/install-macos-deps deleted file mode 100644 index c866388..0000000 --- a/travis/install-macos-deps +++ /dev/null @@ -1,15 +0,0 @@ -#! /bin/bash - -brew update -brew install \ - gtk+3 \ - glib \ - git \ - darcs \ - mercurial \ - libffi \ - gobject-introspection \ - opam - -opam init --comp "$OCAML_VERSION.0" --yes -eval $(opam env) diff --git a/travis/run-macos-tests b/travis/run-macos-tests deleted file mode 100644 index bdc1149..0000000 --- a/travis/run-macos-tests +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -eval $(opam env) -opam pin add . -y -dune runtest --profile release diff --git a/travis/run-tests b/travis/run-tests deleted file mode 100644 index 32817b6..0000000 --- a/travis/run-tests +++ /dev/null @@ -1,7 +0,0 @@ -#! /bin/bash - -if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - docker run --interactive --tty ocaml-gi/${TYPE}; -elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - bash ./travis/run-macos-tests -fi diff --git a/travis/runtest.sh b/travis/runtest.sh deleted file mode 100644 index 5be6c5e..0000000 --- a/travis/runtest.sh +++ /dev/null @@ -1,2 +0,0 @@ -#. /home/opam/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true -dune runtest --profile=release diff --git a/travis/show_versions.sh b/travis/show_versions.sh deleted file mode 100755 index 8c2e8a2..0000000 --- a/travis/show_versions.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -. /home/tests/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true -echo "########################################################################" -echo "########################### LIBS VERSIONS ##############################" -echo -echo $(opam list --short --columns=package installed ocaml) -echo $(opam list --short --columns=package installed ctypes) -echo $(opam list --short --columns=package installed ctypes-foreign) -echo $(opam list --short --columns=package installed ounit) -echo $(opam list --short --columns=package installed base) -echo $(opam list --short --columns=package installed stdio) -echo $(opam list --short --columns=package installed configurator) -echo "GObject-Introspection version: $(pkg-config --modversion gobject-introspection-1.0)" -echo -echo "########################################################################" -echo "########################################################################" -