This commit is contained in:
47
.gitea/workflows/build.yaml
Normal file
47
.gitea/workflows/build.yaml
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
name: Build and Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: docker
|
||||||
|
container:
|
||||||
|
image: node:20
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install pnpm and TypeScript
|
||||||
|
run: npm install -g pnpm typescript@5.8.3
|
||||||
|
|
||||||
|
- name: Install just
|
||||||
|
run: |
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin
|
||||||
|
|
||||||
|
- name: Install system dependencies
|
||||||
|
run: |
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y libglib2.0-dev glib-networking zip
|
||||||
|
|
||||||
|
- name: Install project dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Run unit tests
|
||||||
|
run: just test
|
||||||
|
|
||||||
|
- name: Build and package extension
|
||||||
|
run: just build-package
|
||||||
|
|
||||||
|
- name: Upload extension package
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: aerospike-extension
|
||||||
|
path: aerospike.zip
|
||||||
|
retention-days: 30
|
||||||
3
justfile
3
justfile
@@ -44,6 +44,9 @@ test-watch:
|
|||||||
test-coverage:
|
test-coverage:
|
||||||
pnpm test:coverage
|
pnpm test:coverage
|
||||||
|
|
||||||
|
ci-local:
|
||||||
|
act -W .gitea/workflows/build.yaml
|
||||||
|
|
||||||
#pack: build
|
#pack: build
|
||||||
# gnome-extensions pack dist \
|
# gnome-extensions pack dist \
|
||||||
# --force \
|
# --force \
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { describe, test, expect } from '@jest/globals';
|
import { describe, test, expect } from '@jest/globals';
|
||||||
import type { Rect } from '../utils/rect';
|
import type { Rect } from '../utils/rect.js';
|
||||||
|
|
||||||
describe('Rect Type Tests', () => {
|
describe('Rect Type Tests', () => {
|
||||||
test('should create a valid Rect object', () => {
|
test('should create a valid Rect object', () => {
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ export default class WindowManager implements IWindowManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_getWrappedWindow(window: Meta.Window): WindowWrapper | undefined {
|
_getWrappedWindow(window: Meta.Window): WindowWrapper | undefined {
|
||||||
let wrapped = undefined;
|
let wrapped: WindowWrapper | undefined = undefined;
|
||||||
for (const monitor of this._monitors.values()) {
|
for (const monitor of this._monitors.values()) {
|
||||||
wrapped = monitor.getWindow(window.get_id());
|
wrapped = monitor.getWindow(window.get_id());
|
||||||
if (wrapped !== undefined) {
|
if (wrapped !== undefined) {
|
||||||
@@ -241,7 +241,7 @@ export default class WindowManager implements IWindowManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_getAndRemoveWrappedWindow(window: Meta.Window): WindowWrapper | undefined {
|
_getAndRemoveWrappedWindow(window: Meta.Window): WindowWrapper | undefined {
|
||||||
let wrapped = undefined;
|
let wrapped: WindowWrapper | undefined = undefined;
|
||||||
for (const monitor of this._monitors.values()) {
|
for (const monitor of this._monitors.values()) {
|
||||||
wrapped = monitor.getWindow(window.get_id());
|
wrapped = monitor.getWindow(window.get_id());
|
||||||
if (wrapped !== undefined) {
|
if (wrapped !== undefined) {
|
||||||
|
|||||||
@@ -5,6 +5,8 @@
|
|||||||
"outDir": "./dist",
|
"outDir": "./dist",
|
||||||
"sourceMap": false,
|
"sourceMap": false,
|
||||||
"strict": true,
|
"strict": true,
|
||||||
|
"noImplicitAny": false,
|
||||||
|
"skipLibCheck": true,
|
||||||
"target": "ES2022",
|
"target": "ES2022",
|
||||||
"lib": [
|
"lib": [
|
||||||
"ES2022"
|
"ES2022"
|
||||||
|
|||||||
Reference in New Issue
Block a user