Skip to content

Commit 41fe21d

Browse files
committed
chore: add devcontainer, CI workflow, and gitignore
1 parent 8d31c26 commit 41fe21d

3 files changed

Lines changed: 126 additions & 0 deletions

File tree

.devcontainer/devcontainer.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "HTMLTrust Canonicalization",
3+
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
4+
"features": {
5+
"ghcr.io/devcontainers/features/node:1": {
6+
"version": "22"
7+
},
8+
"ghcr.io/devcontainers/features/go:1": {
9+
"version": "1.23"
10+
},
11+
"ghcr.io/devcontainers/features/php:1": {
12+
"version": "8.3",
13+
"installComposer": true
14+
}
15+
},
16+
"postCreateCommand": "cd go && go mod tidy && cd ../php && composer install --no-interaction",
17+
"customizations": {
18+
"vscode": {
19+
"extensions": [
20+
"golang.go",
21+
"bmewburn.vscode-intelephense-client",
22+
"dbaeumer.vscode-eslint"
23+
]
24+
}
25+
}
26+
}

.github/workflows/ci.yml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
javascript:
11+
name: JavaScript
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- uses: actions/setup-node@v4
17+
with:
18+
node-version: "22"
19+
20+
- name: Run tests
21+
working-directory: javascript
22+
run: node test.js
23+
24+
- uses: actions/upload-artifact@v4
25+
with:
26+
name: javascript-package
27+
path: |
28+
javascript/index.js
29+
javascript/index.d.ts
30+
javascript/package.json
31+
32+
go:
33+
name: Go
34+
runs-on: ubuntu-latest
35+
steps:
36+
- uses: actions/checkout@v4
37+
38+
- uses: actions/setup-go@v5
39+
with:
40+
go-version: "1.23"
41+
42+
- name: Download dependencies
43+
working-directory: go
44+
run: go mod tidy
45+
46+
- name: Run tests
47+
working-directory: go
48+
run: go test -v ./...
49+
50+
- uses: actions/upload-artifact@v4
51+
with:
52+
name: go-package
53+
path: |
54+
go/canonicalize.go
55+
go/go.mod
56+
go/go.sum
57+
58+
php:
59+
name: PHP
60+
runs-on: ubuntu-latest
61+
steps:
62+
- uses: actions/checkout@v4
63+
64+
- uses: shivammathur/setup-php@v2
65+
with:
66+
php-version: "8.3"
67+
extensions: intl, mbstring
68+
69+
- name: Install dependencies
70+
working-directory: php
71+
run: composer install --no-interaction --prefer-dist
72+
73+
- name: Run tests
74+
working-directory: php
75+
run: composer test
76+
77+
- uses: actions/upload-artifact@v4
78+
with:
79+
name: php-package
80+
path: |
81+
php/src/
82+
php/composer.json

.gitignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# OS
2+
.DS_Store
3+
Thumbs.db
4+
5+
# Node
6+
node_modules/
7+
8+
# Go
9+
go/go.sum
10+
11+
# PHP
12+
php/vendor/
13+
php/composer.lock
14+
15+
# IDE
16+
.idea/
17+
.vscode/
18+
*.swp

0 commit comments

Comments
 (0)