Skip to content

Commit a789d1f

Browse files
Follow standard Socketry project and workflow conventions
1 parent 52a98e1 commit a789d1f

15 files changed

Lines changed: 187 additions & 475 deletions

File tree

‎.editorconfig‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*]
4+
indent_style = tab
5+
indent_size = 2
6+
7+
[*.{yml,yaml}]
8+
indent_style = space
9+
indent_size = 2

‎.github/copilot-instructions.md‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# GitHub Copilot Instructions
2+
3+
## Use Agent Context
4+
5+
When working on this project, consult the `agents.md` file for project-specific guidelines, architecture decisions, and development patterns. This file contains curated information that will help you make better decisions aligned with the project's goals and standards.
6+
7+
If the file does not exist, you will need to install it, by running the following command:
8+
9+
```bash
10+
$ bundle install
11+
$ bundle exec bake agent:context:install
12+
```
13+
14+
This command will set up the necessary context files that help you understand the project structure, dependencies, and conventions.
15+
16+
## Ignoring Files
17+
18+
The `.gitignore` file is split into two sections, separated by a blank line. The first section is automatically generated, while the second section is user controlled.
19+
20+
While working on pull requests, you should not add unrelated changes to the `.gitignore` file as part of the pull request.

‎.github/release-rules/checks.json‎

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,25 @@
2525
"do_not_enforce_on_create": false,
2626
"required_status_checks": [
2727
{
28-
"context": "Test Ruby 3.3"
28+
"context": "3.3 on ubuntu"
2929
},
3030
{
31-
"context": "Test Ruby 3.4"
31+
"context": "3.3 on macos"
3232
},
3333
{
34-
"context": "Test Ruby 4.0"
34+
"context": "3.4 on ubuntu"
3535
},
3636
{
37-
"context": "RuboCop"
37+
"context": "3.4 on macos"
38+
},
39+
{
40+
"context": "4.0 on ubuntu"
41+
},
42+
{
43+
"context": "4.0 on macos"
44+
},
45+
{
46+
"context": "check"
3847
},
3948
{
4049
"context": "ruby on ubuntu"
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages:
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
# Allow one concurrent deployment:
16+
concurrency:
17+
group: "pages"
18+
cancel-in-progress: true
19+
20+
env:
21+
BUNDLE_WITH: maintenance
22+
23+
jobs:
24+
generate:
25+
runs-on: ubuntu-latest
26+
27+
steps:
28+
- uses: actions/checkout@v7
29+
30+
- uses: ruby/setup-ruby@v1
31+
with:
32+
ruby-version: ruby
33+
bundler-cache: true
34+
35+
- name: Installing packages
36+
run: sudo apt-get install wget
37+
38+
- name: Generate documentation
39+
timeout-minutes: 5
40+
run: bundle exec bake utopia:project:static --force no
41+
42+
- name: Upload documentation artifact
43+
uses: actions/upload-pages-artifact@v5
44+
with:
45+
path: docs
46+
47+
deploy:
48+
runs-on: ubuntu-latest
49+
50+
environment:
51+
name: github-pages
52+
url: ${{steps.deployment.outputs.page_url}}
53+
54+
needs: generate
55+
steps:
56+
- name: Deploy to GitHub Pages
57+
id: deployment
58+
uses: actions/deploy-pages@v5

‎.github/workflows/rubocop.yaml‎

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ permissions:
77

88
jobs:
99
check:
10-
name: RuboCop
1110
runs-on: ubuntu-latest
11+
1212
steps:
13-
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
14-
- uses: ruby/setup-ruby@a0102e0972be65f351c307e2d64b9314a57c8073 # v1
15-
with:
16-
ruby-version: "3.4"
17-
bundler-cache: true
18-
- name: Check Ruby and documentation style
19-
timeout-minutes: 10
20-
run: bundle exec rubocop
13+
- uses: actions/checkout@v7
14+
- uses: ruby/setup-ruby@v1
15+
with:
16+
ruby-version: ruby
17+
bundler-cache: true
18+
19+
- name: Run RuboCop
20+
timeout-minutes: 10
21+
run: bundle exec rubocop

‎.github/workflows/test.yaml‎

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,41 @@ permissions:
77

88
jobs:
99
test:
10-
name: Test Ruby ${{ matrix.ruby }}
11-
runs-on: ubuntu-latest
10+
name: ${{matrix.ruby}} on ${{matrix.os}}
11+
runs-on: ${{matrix.os}}-latest
12+
continue-on-error: ${{matrix.experimental}}
13+
1214
strategy:
13-
fail-fast: false
1415
matrix:
15-
ruby: ["3.3", "3.4", "4.0"]
16+
os:
17+
- ubuntu
18+
- macos
19+
20+
ruby:
21+
- "3.3"
22+
- "3.4"
23+
- "4.0"
24+
25+
experimental: [false]
26+
27+
include:
28+
- os: ubuntu
29+
ruby: truffleruby
30+
experimental: true
31+
- os: ubuntu
32+
ruby: jruby
33+
experimental: true
34+
- os: ubuntu
35+
ruby: head
36+
experimental: true
37+
1638
steps:
17-
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
18-
- uses: ruby/setup-ruby@a0102e0972be65f351c307e2d64b9314a57c8073 # v1
19-
with:
20-
ruby-version: ${{ matrix.ruby }}
21-
bundler-cache: true
22-
- name: Run tests
23-
timeout-minutes: 10
24-
run: bundle exec sus-parallel
39+
- uses: actions/checkout@v7
40+
- uses: ruby/setup-ruby@v1
41+
with:
42+
ruby-version: ${{matrix.ruby}}
43+
bundler-cache: true
44+
45+
- name: Run tests
46+
timeout-minutes: 10
47+
run: bundle exec bake test

‎.gitignore‎

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
/.bundle/
2-
/.context/
1+
/agents.md
2+
/.agents/
3+
/.bundle
4+
/pkg
5+
/gems.locked
36
/.covered.db
7+
/external
8+
9+
/.context/
410
/coverage/
5-
/gems.locked
6-
/pkg/
711
/vendor/bundle/
12+
/docs/

0 commit comments

Comments
 (0)