diff options
author | Kyle Meyer <kyle@kyleam.com> | 2022-02-21 17:59:29 -0500 |
---|---|---|
committer | Kyle Meyer <kyle@kyleam.com> | 2022-02-21 18:01:00 -0500 |
commit | c657cfacc0201c7c298d7987b5b6a62b4d4a2284 (patch) | |
tree | 42071b3322bae09cade7e3f1c0791d6e487e8ddc | |
parent | e735cccc4f7032e6b4bbae1a23c4906d89e8ea10 (diff) | |
download | snakemake-mode-c657cfacc0201c7c298d7987b5b6a62b4d4a2284.tar.gz |
ci: Switch to GitHub Actions
After GitHub Actions were available, this repository kept using Travis
because it worked well enough, especially given this package is very
much in maintenance mode. However, going forward it'd be nice to use
purcell/setup-emacs action to test various Emacs versions.
Don't bother testing against Emacs 24 because the next release will
bump the minimum Emacs version to at least 25.1.
While touching this setup, drop the Makefile target for downloading
dependencies and instead just expect dependencies to be one level up
from the snakemake-mode checkout.
-rw-r--r-- | .github/workflows/test.yml | 43 | ||||
-rw-r--r-- | .travis.yml | 33 | ||||
-rw-r--r-- | Makefile | 18 |
3 files changed, 46 insertions, 48 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..6772f36 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,43 @@ +name: test +on: push +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + emacs_version: + - 25.3 + - 27.2 + - snapshot + steps: + - name: Install emacs + uses: purcell/setup-emacs@master + with: + version: ${{ matrix.emacs_version }} + - name: Check out dash + uses: actions/checkout@v2 + with: + repository: magnars/dash.el + path: dash.el + - name: Check out magit-popup + uses: actions/checkout@v2 + with: + repository: magit/magit-popup + path: magit-popup + - name: Check out snakemake-mode + uses: actions/checkout@v2 + with: + repository: kyleam/snakemake-mode + path: snakemake-mode + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + - name: Install Snakemake + run: | + python -m pip install --upgrade pip + pip install snakemake + - name: Build snakemake-mode + run: make -C snakemake-mode all + - name: Test snaekmake-mode + run: make -C snakemake-mode test diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9eb10a1..0000000 --- a/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -language: python - -python: - - "3.7" - -env: - matrix: - # - EMACS=emacs24 # This is 24.3, while magit-popup.el requires 24.4. - - EMACS=emacs-snapshot - -install: - - if [ "$EMACS" = "emacs24" ]; then - sudo add-apt-repository -y ppa:cassou/emacs && - sudo apt-get update -qq && - sudo apt-get install -qq emacs24 emacs24-el; - fi - - if [ "$EMACS" = "emacs-snapshot" ]; then - sudo add-apt-repository -y ppa:ubuntu-elisp/ppa && - sudo apt-get update -qq && - sudo apt-get install -qq emacs-snapshot; - fi - - pip install snakemake - -before_script: - make .deps - -script: - make test EMACS=${EMACS} - -notifications: - email: - on_success: never - on_failure: always @@ -1,5 +1,5 @@ -LOAD_PATH = -L .deps -L . +LOAD_PATH = -L ../magit-popup -L ../dash.el -L . EMACS = emacs BATCH = $(EMACS) -Q --batch $(LOAD_PATH) CURL := curl --silent @@ -8,14 +8,11 @@ els := snakemake.el snakemake-mode.el elcs := $(patsubst %.el, %.elc, $(els)) AUTOLOADS_FILE = snakemake-autoloads.el -DASH_URL := https://raw.githubusercontent.com/magnars/dash.el/master/dash.el -POPUP_URL := https://raw.githubusercontent.com/magit/magit-popup/master/magit-popup.el - .PHONY: all all: $(elcs) $(AUTOLOADS_FILE) .PHONY: test -test: | .deps +test: @$(BATCH) -l snakemake-test \ --eval "(ert-run-tests-batch-and-exit '(not (tag interactive)))" @@ -25,18 +22,9 @@ $(AUTOLOADS_FILE): $(els) (generated-autoload-file \"$(CURDIR)/$@\")) \ (update-directory-autoloads \"$(CURDIR)/\"))" -.deps: - mkdir -p .deps - $(CURL) $(DASH_URL) > .deps/dash.el - $(CURL) $(POPUP_URL) > .deps/magit-popup.el - -%.elc: %.el | .deps +%.elc: %.el @$(BATCH) -f batch-byte-compile $< .PHONY: clean clean: $(RM) $(elcs) $(AUTOLOADS_FILE) - -.PHONY: clean-all -clean-all: clean - $(RM) -r .deps |