mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2024-11-24 13:51:43 +08:00
Move build from TravisCI to GitHub Actions
This commit is contained in:
parent
85afe3c41d
commit
dff781c080
73
.github/workflows/build.yml
vendored
Normal file
73
.github/workflows/build.yml
vendored
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
name: Build
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- ubuntu-16.04
|
||||||
|
- ubuntu-18.04
|
||||||
|
- ubuntu-20.04
|
||||||
|
- ubuntu-latest
|
||||||
|
fish:
|
||||||
|
- stock
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
|
- brew
|
||||||
|
exclude:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
fish: 2
|
||||||
|
- os: ubuntu-latest
|
||||||
|
fish: 2
|
||||||
|
include:
|
||||||
|
- os: macos-10.15
|
||||||
|
fish: brew
|
||||||
|
- os: macos-latest
|
||||||
|
fish: brew
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout the repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install Fish
|
||||||
|
run: FISH_RELEASE=${{ matrix.fish }} tools/ci-install-fish.sh
|
||||||
|
|
||||||
|
- name: Install Oh My Fish!
|
||||||
|
run: fish bin/install --verbose --offline --noninteractive --yes
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: |
|
||||||
|
tests/run.fish
|
||||||
|
pushd pkg/fish-spec; fish -c 'fish-spec'; popd
|
||||||
|
pushd pkg/omf; fish -c 'fish-spec'; popd
|
||||||
|
|
||||||
|
notify-success:
|
||||||
|
needs: [build]
|
||||||
|
if: success()
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Notify on Slack
|
||||||
|
uses: rtCamp/action-slack-notify@ae4223259071871559b6e9d08b24a63d71b3f0c0
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
|
||||||
|
SLACK_ICON: false
|
||||||
|
SLACK_COLOR: good
|
||||||
|
SLACK_USERNAME: GitHub Actions
|
||||||
|
SLACK_TITLE: Build Success
|
||||||
|
SLACK_FOOTER: ""
|
||||||
|
|
||||||
|
notify-failure:
|
||||||
|
needs: [build]
|
||||||
|
if: failure()
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Notify on Slack
|
||||||
|
uses: rtCamp/action-slack-notify@ae4223259071871559b6e9d08b24a63d71b3f0c0
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
|
||||||
|
SLACK_ICON: false
|
||||||
|
SLACK_COLOR: danger
|
||||||
|
SLACK_USERNAME: GitHub Actions
|
||||||
|
SLACK_TITLE: Build Failure
|
||||||
|
SLACK_FOOTER: ""
|
43
.travis.yml
43
.travis.yml
|
@ -1,43 +0,0 @@
|
||||||
language: c
|
|
||||||
dist: trusty
|
|
||||||
|
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
- osx
|
|
||||||
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- bc
|
|
||||||
- doxygen
|
|
||||||
- expect
|
|
||||||
- gettext
|
|
||||||
- libncurses5-dev
|
|
||||||
- tree
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- tools/travis-install-git.sh
|
|
||||||
- source tools/travis-github-pr-integration.sh
|
|
||||||
- tools/travis-install-fish.sh
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- tree -h
|
|
||||||
- export
|
|
||||||
- pushd bin; sha256sum -c install.sha256; popd
|
|
||||||
- fish $TRAVIS_BUILD_DIR/bin/install --verbose --offline --noninteractive --yes
|
|
||||||
|
|
||||||
script:
|
|
||||||
- tests/run.fish
|
|
||||||
- pushd pkg/fish-spec; fish -c 'fish-spec'; popd
|
|
||||||
- pushd pkg/omf; fish -c 'fish-spec'; popd
|
|
||||||
|
|
||||||
after_failure:
|
|
||||||
- pwd
|
|
||||||
- cd ~/.config/fish; tree -h; find . -type f | xargs cat
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
email:
|
|
||||||
on_success: never
|
|
||||||
on_failure: change
|
|
||||||
slack:
|
|
||||||
secure: fHR34H901zaBpUdm9BECQfocnPki8HdigH9CQxopvJ6Rm0WCLzCst4zPESAlO/Jb1t6OYtU6Goqmdq3yqzo8+moCrygrpMUtzIel/TDhkLzC2SIlmMdnw2/Xdwzisd/8QBVwu9ns8xJ2C4eegolNazNsc1Ow/wULaLwA7vUJrfcSmvYBepfe3MPSX/KLU3BBRhiTr3RhuzV+D1qQcSrAiWGVr4zWUiRAar6WD1D4athZO9OX33upBYpraGEa3sRWrUJjVv7KWMH566Y2MSAtd0NBgsF9dn3S5nKTXtfyGXt2gkykZ9Ag1B7B9AR9BHpn5UcvDdn7FZpEREfrllkDU8iG67RD7owyRl/T5jyWQecU2Q9Rlco5esEpbkY7sXmzwj2RVBGzsaVjxajZ+C7Ns2ogMcP8o+xqfcUASXjlJM2kJQRSenwx82Vq6uQ0vbhgKWBTQE1qsEkLDCthUxQ9eJ0/exoBp95wrZinilmEyps00oqmS40HEhB+JmuN2sGVWhpSczVDvVmdV+XSewLqfRnWtr2yhL8dR1sfVm2lJh3Dzik4BFUASByeBJnViU4dDilLlb4S3Dwk0XZh9HGwLs9ujNA3PT23uoRu4VRBQkIwXZE8v/qvf4/7w8IowofzezYcjwxkaqu1hNgTKNOkbgopV9RdwrUxy4f53S0l2jY=
|
|
26
tools/ci-install-fish.sh
Executable file
26
tools/ci-install-fish.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -o pipefail
|
||||||
|
set -o errexit
|
||||||
|
set -o nounset
|
||||||
|
|
||||||
|
if [[ $FISH_RELEASE = "brew" ]]; then
|
||||||
|
brew update
|
||||||
|
brew install fish
|
||||||
|
else
|
||||||
|
if [[ $FISH_RELEASE == "2" ]]; then
|
||||||
|
REPO_PPA="ppa:fish-shell/release-2"
|
||||||
|
else
|
||||||
|
REPO_PPA="ppa:fish-shell/release-3"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $FISH_RELEASE != "stock" ]]; then
|
||||||
|
sudo apt-add-repository -y $REPO_PPA
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo apt-cache policy fish
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y fish
|
||||||
|
fi
|
||||||
|
|
||||||
|
fish --version
|
|
@ -1,17 +0,0 @@
|
||||||
# Return if we are not in a Pull Request
|
|
||||||
if [[ "$TRAVIS_PULL_REQUEST" = "false" ]]; then
|
|
||||||
export OMF_REPO_URI="https://github.com/$TRAVIS_REPO_SLUG"
|
|
||||||
export OMF_REPO_BRANCH="$TRAVIS_BRANCH"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
GITHUB_PR_URL=https://api.github.com/repos/$TRAVIS_REPO_SLUG/pulls/$TRAVIS_PULL_REQUEST
|
|
||||||
GITHUB_PR_BODY=$(curl -s $GITHUB_PR_URL 2> /dev/null)
|
|
||||||
|
|
||||||
if [[ $GITHUB_PR_BODY =~ \"ref\":\ *\"([a-zA-Z0-9_-]*)\" ]]; then
|
|
||||||
export OMF_REPO_BRANCH=${BASH_REMATCH[1]}
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $GITHUB_PR_BODY =~ \"repo\":.*\"clone_url\":\ *\"(https://github\.com/[a-zA-Z0-9_-]*/[a-zA-Z0-9_-]*\.git).*\"base\" ]]; then
|
|
||||||
export OMF_REPO_URI=${BASH_REMATCH[1]}
|
|
||||||
fi
|
|
|
@ -1,16 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -o pipefail
|
|
||||||
set -o errexit
|
|
||||||
set -o nounset
|
|
||||||
#set -o xtrace
|
|
||||||
|
|
||||||
# Return if we are not in a Pull Request
|
|
||||||
if [[ "$TRAVIS_OS_NAME" = "linux" ]]; then
|
|
||||||
sudo apt-add-repository -y ppa:fish-shell/release-2
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y fish
|
|
||||||
else
|
|
||||||
brew update
|
|
||||||
brew install fish tree
|
|
||||||
fi
|
|
|
@ -1,7 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
if [[ "$TRAVIS_OS_NAME" = "linux" ]]; then
|
|
||||||
sudo add-apt-repository -y ppa:git-core/ppa
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install --only-upgrade -y git
|
|
||||||
fi
|
|
Loading…
Reference in New Issue
Block a user