diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..a03d0829b --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,29 @@ +name: Build and Test + +on: + push: + branches: [ master ] + tags-ignore: + - 'v*' + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v3 + - name: apt + run: sudo apt-get install gcc autoconf bison gettext autopoint help2man lzip texinfo texlive + - name: autogen + run: ./autogen.sh + - name: configure + run: ./configure + - name: make + run: make + - name: make check + run: make check + - name: make distcheck + run: make distcheck diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 98205d62d..113dd98ac 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -41,11 +41,11 @@ jobs: - name: Apt run: sudo apt-get install gcc autoconf bison gettext autopoint help2man lzip texinfo texlive - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v1 + uses: github/codeql-action/init@v2 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -62,7 +62,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v1 + uses: github/codeql-action/autobuild@v2 # ℹī¸ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -76,4 +76,4 @@ jobs: # make - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + uses: github/codeql-action/analyze@v2 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 09cb04148..000000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -language: c - -compiler: - - gcc - -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - autoconf - - bison - - gcc-6 - - help2man - - lzip - - texinfo - - texlive - -before_script: - - ./.travis/install-gettext.sh - - ./.travis/install-automake.sh - - export PATH=$HOME/bin:$PATH - -script: ./autogen.sh && ./configure && make && make check && make distcheck diff --git a/.travis/install-automake.sh b/.travis/install-automake.sh deleted file mode 100755 index 718cab35f..000000000 --- a/.travis/install-automake.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -ex - -wget -nv https://ftp.gnu.org/gnu/automake/automake-1.15.1.tar.gz - -# Verify tarball against hard-coded hashes. GPG signatures require an external -# keyserver which might be offline, which is undesirable for build server use. -# It's equally secure to just hard-code hashes, provided they're trusted (i.e. -# you verify a hash against a GPG signature once). -echo 'd3cd5fc9bbea9f977b51799180cde5d253dcba96 *automake-1.15.1.tar.gz'| - sha1sum -c || : -printf '%s *automake-1.15.1.tar.gz\n' \ -f0d4717ebe2c76cec5d487de090f6e1c0f784b0d382fd964ffa846287e2a364a\ -52531a26ab98b7033ac04ed302a247b3b114299def54819a03439bfc962ff61b| - sha512sum -c || : - -tar xf automake-1.15.1.tar.gz -cd automake-1.15.1 -# Don't flood Travis CI build log with dependency packages unless error occurs. -./configure --quiet --prefix="$HOME" || - { s=$? && cat config.log && (exit $s); } -make -s V=0 >/dev/null 2>&1 || make -s V=1 -make -s install >make_install.log 2>&1 || - { s=$? && cat make_install.log && (exit $s); } -rm make_install.log || : diff --git a/.travis/install-gettext.sh b/.travis/install-gettext.sh deleted file mode 100755 index 1c44b792d..000000000 --- a/.travis/install-gettext.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -ex - -wget -nv https://ftp.gnu.org/gnu/gettext/gettext-0.19.8.1.tar.lz - -# Verify tarball against hard-coded hashes. GPG signatures require an external -# keyserver which might be offline, which is undesirable for build server use. -# It's equally secure to just hard-code hashes, provided they're trusted (i.e. -# you verify a hash against a GPG signature once). -echo '404e072c455f79be4a2458863c19fb55a217771e *gettext-0.19.8.1.tar.lz'| - sha1sum -c || : -printf '%s *gettext-0.19.8.1.tar.lz\n' \ -27c7a15be1ffd30a0182e264d0bf896850a295160872e1b1b9d1e9a15bc486cd\ -93465c131f948206fa0bbe2e3eacfc8489dd0cfc5ea5dcf05eff3829e27fc60f| - sha512sum -c || : - -tar xf gettext-0.19.8.1.tar.lz -cd gettext-0.19.8.1 -# Don't flood Travis CI build log with dependency packages unless error occurs. -# libacl is not used in this Travis build system. -./configure --quiet --prefix="$HOME" --disable-acl || - { s=$? && cat config.log && (exit $s); } -make -s V=0 >/dev/null 2>&1 || make -s V=1 -make -s install >make_install.log 2>&1 || - { s=$? && cat make_install.log && (exit $s); } -rm make_install.log || : diff --git a/README.md b/README.md index 194746410..d586360d6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -[![Build Status](https://travis-ci.org/westes/flex.svg?branch=master)](https://travis-ci.org/westes/flex) +[![Build Status](https://github.com/westes/flex/actions/workflows/build.yml/badge.svg)](https://github.com/westes/flex/actions/workflows/build.yml) + This is flex, the fast lexical analyzer generator.