Skip to content

refactor(diag): allow Diag_List to be moved #5469

refactor(diag): allow Diag_List to be moved

refactor(diag): allow Diag_List to be moved #5469

# Copyright (C) 2020 Matthew Glazar
# See end of file for extended copyright information.
name: test Emacs plugin
on:
push:
pull_request:
types: [opened, synchronize]
jobs:
build:
name: Emacs
runs-on: ubuntu-latest
container: ghcr.io/quick-lint/quick-lint-js-github-emacs:v1
steps:
- name: checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: configure
run: cmake -DBUILD_TESTING=OFF -S . -B . -G Ninja
- name: build
run: cmake --build . --config Debug
- name: install
run: cmake --install . --config Debug
- name: version
run: emacs --version
- name: test
run: ./plugin/emacs/test-emacs.sh
- name: package Emacs plugin
run: ./plugin/emacs/create-archive
- name: upload archive to workflow
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
with:
if-no-files-found: error
name: web-demo-dist-${{ github.sha }}
path: plugin/emacs/quick-lint-js-emacs.zip
- name: upload archive to long-term storage
if: ${{ github.event_name == 'push' && github.repository_owner == 'quick-lint' != null }}
uses: quick-lint/sftp-upload@1fa54164d4bdd081207a6e54ec143d8dda3a7fb8 # v3
with:
host: ${{ secrets.artifacts_host }}
local-file-globs: plugin/emacs/quick-lint-js-emacs.zip
private-key: ${{ secrets.artifacts_key }}
remote-directory: ${{ secrets.artifacts_root }}/builds/${{ github.sha }}/emacs/
user: ${{ secrets.artifacts_user }}
# quick-lint-js finds bugs in JavaScript programs.
# Copyright (C) 2020 Matthew Glazar
#
# This file is part of quick-lint-js.
#
# quick-lint-js is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# quick-lint-js is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with quick-lint-js. If not, see <https://www.gnu.org/licenses/>.