Replace travis with github actions

This commit is contained in:
Stasia Michalska
2025-12-21 18:11:07 +01:00
parent 078186cd25
commit cc0e88598f
7 changed files with 126 additions and 13 deletions
+11
View File
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
+29
View File
@@ -0,0 +1,29 @@
name: Build CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pebble-dev/pebbleos-docker:v1
steps:
- uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v7
- run: uv tool install pebble-tool
- run: npm install
- run: npm run build
- run: pebble build
- uses: actions/upload-artifact@v4
with:
name: clay
path: dist.zip
+23
View File
@@ -0,0 +1,23 @@
name: Lint CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'npm'
- run: npm install
- run: npm run lint
+28
View File
@@ -0,0 +1,28 @@
name: Node.js Package
on:
release:
types: [created]
permissions:
id-token: write
contents: read
jobs:
publish-npm:
runs-on: ubuntu-latest
container:
image: ghcr.io/pebble-dev/pebbleos-docker:v1
steps:
- uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v7
- run: uv tool install pebble-tool
- run: npm install
- run: npm run build
- run: pebble build
- name: Update npm
run: npm install -g npm@latest
- run: npm publish
+34
View File
@@ -0,0 +1,34 @@
name: Test CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'npm'
- name: Setup Chrome
uses: browser-actions/setup-chrome@v2
id: setup-chrome
with:
install-dependencies: true
- run: npm install
- run: npm run build
- name: Run headless test
uses: coactions/setup-xvfb@v1
with:
run: npm run test-travis
env:
CHROME_BIN: ${{ steps.setup-chrome.outputs.chrome-path }}
-12
View File
@@ -1,12 +0,0 @@
language: node_js
sudo: false
node_js:
- '4'
before_script:
# Needed to include Chrome in Travis for karma tests
- export CHROME_BIN=chromium-browser
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
script: 'npm run test-travis'
+1 -1
View File
@@ -3,7 +3,7 @@
"version": "1.0.4",
"description": "Pebble Config Framework",
"scripts": {
"test-travis": "./node_modules/.bin/gulp && ./node_modules/.bin/karma start ./test/karma.conf.js --single-run --browsers chromeTravisCI && ./node_modules/.bin/eslint ./",
"test-travis": "./node_modules/.bin/gulp && ./node_modules/.bin/karma start ./test/karma.conf.js --single-run --browsers chromeTravisCI",
"test-debug": "(export DEBUG=true && ./node_modules/.bin/gulp && ./node_modules/.bin/karma start ./test/karma.conf.js --no-single-run)",
"test": "./node_modules/.bin/gulp && ./node_modules/.bin/karma start ./test/karma.conf.js --single-run",
"lint": "./node_modules/.bin/eslint ./",