From 934385ff5535ee32a90d95411f99db933ad805a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fre=CC=81de=CC=81ric=20Guillot?= Date: Sun, 15 Sep 2019 11:32:12 -0700 Subject: [PATCH] Replace Travis by GitHub Actions --- .github/workflows/ci.yml | 95 ++++++++++++++++++++++++++++++++++++++ .travis.yml | 20 -------- README.md | 1 - reader/json/parser_test.go | 3 +- 4 files changed, 97 insertions(+), 22 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..de999efb --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,95 @@ +name: CI Workflow +on: + pull_request: + branches: + - master + +jobs: + + linters: + name: Linter Check + runs-on: ubuntu-latest + steps: + - name: Set up Go + uses: actions/setup-go@v1 + with: + go-version: 1.13 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout + uses: actions/checkout@v1 + with: + fetch-depth: 3 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Install linters + run: | + cd /tmp && go get -u golang.org/x/lint/golint + sudo npm install -g jshint + env: + GO111MODULE: off + - name: Run golint + run: | + export PATH=/home/runner/go/bin:$PATH + make lint + - name: Run jshint + run: jshint ui/static/js/*.js + + unit-tests: + name: Unit Tests + runs-on: ${{ matrix.os }} + strategy: + max-parallel: 4 + matrix: + os: [ubuntu-latest, windows-latest, macOS-latest] + go-version: [1.11, 1.12, 1.13] + steps: + - name: Set up Go + uses: actions/setup-go@v1 + with: + go-version: ${{ matrix.go-version }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout + uses: actions/checkout@v1 + with: + fetch-depth: 3 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Run unit tests + run: make test + + integration-tests: + name: Integration Tests + runs-on: ubuntu-latest + services: + postgres: + image: postgres:9.5 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: postgres + ports: + - 5432:5432 + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + steps: + - name: Set up Go + uses: actions/setup-go@v1 + with: + go-version: 1.13 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout + uses: actions/checkout@v1 + with: + fetch-depth: 3 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Install Postgres client + run: sudo apt-get install -y postgresql-client + - name: Run integration tests + run: make integration-test + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PGHOST: 127.0.0.1 + PGPASSWORD: postgres diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 03f6f0ed..00000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -notifications: - email: false -services: - - postgresql -addons: - postgresql: "9.4" -language: go -go_import_path: "miniflux.app" -go: - - "1.11" - - "1.12" - - "1.13" -before_install: - - npm install -g jshint - - go get -u golang.org/x/lint/golint -script: - - jshint ui/static/js/*.js - - make lint - - make test - - make integration-test diff --git a/README.md b/README.md index b81ad4c7..21bf574d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ Miniflux 2 ========== -[![Build Status](https://travis-ci.org/miniflux/miniflux.svg?branch=master)](https://travis-ci.org/miniflux/miniflux) [![GoDoc](https://godoc.org/miniflux.app?status.svg)](https://godoc.org/miniflux.app) Miniflux is a minimalist and opinionated feed reader: diff --git a/reader/json/parser_test.go b/reader/json/parser_test.go index 482212be..d55eb922 100644 --- a/reader/json/parser_test.go +++ b/reader/json/parser_test.go @@ -283,7 +283,8 @@ func TestParseFeedItemWithInvalidDate(t *testing.T) { t.Errorf("Incorrect number of entries, got: %d", len(feed.Entries)) } - if !feed.Entries[0].Date.Before(time.Now()) { + duration := time.Since(feed.Entries[0].Date) + if duration.Seconds() > 1 { t.Errorf("Incorrect entry date, got: %v", feed.Entries[0].Date) } }