Refactor checkout actions to use official forgejo actions for consistency #1

Open
deco wants to merge 2 commits from feature/build-changes into main
22 changed files with 33 additions and 44 deletions

View file

@ -0,0 +1,13 @@
{
"permissions": {
"allow": [
"Bash(dir:*)",
"Bash(find:*)",
"Bash(mkdir:*)",
"Bash(mv:*)",
"Bash(ls:*)",
"Bash(rm:*)"
],
"deny": []
}
}

View file

@ -15,7 +15,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0

View file

@ -17,7 +17,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
run: | run: |
@ -36,7 +36,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
run: | run: |
@ -59,7 +59,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
run: | run: |
@ -78,7 +78,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
run: | run: |
@ -92,7 +92,7 @@ jobs:
run: npm run test:coverage run: npm run test:coverage
- name: Upload coverage reports - name: Upload coverage reports
uses: https://code.forgejo.org/forgejo/upload-artifact@v4 uses: forgejo/upload-artifact@v4
with: with:
name: coverage-report.zip name: coverage-report.zip
path: coverage/ path: coverage/
@ -103,7 +103,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
run: | run: |
@ -143,7 +143,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
run: | run: |
@ -182,7 +182,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
run: | run: |

View file

@ -15,7 +15,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 # Full history for better analysis fetch-depth: 0 # Full history for better analysis

View file

@ -17,7 +17,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
run: | run: |

View file

@ -18,10 +18,10 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
- name: Configure AWS credentials using access keys - name: Configure AWS credentials using access keys
uses: https://code.forgejo.org/aws-actions/configure-aws-credentials@v4 uses: aws-actions/configure-aws-credentials@v4
with: with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

View file

@ -12,7 +12,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: https://code.forgejo.org/actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0

View file

@ -303,7 +303,7 @@ sudo journalctl -u caddy -f
### Log Files ### Log Files
- **Application logs**: `sudo journalctl -u icewatch` - **Application logs**: `sudo journalctl -u icewatch`
- **Caddy access logs**: `/var/log/caddy/great-lakes-ice-report.log` - **Caddy access logs**: `/var/log/caddy/icewatch.log`
- **System logs**: `/var/log/syslog` - **System logs**: `/var/log/syslog`
### Database Maintenance ### Database Maintenance
@ -378,7 +378,7 @@ For high-traffic deployments:
2. **Configure log rotation**: 2. **Configure log rotation**:
```bash ```bash
sudo nano /etc/logrotate.d/great-lakes-ice-report sudo nano /etc/logrotate.d/icewatch
``` ```
3. **Monitor resource usage**: 3. **Monitor resource usage**:

4
package-lock.json generated
View file

@ -1,11 +1,11 @@
{ {
"name": "great-lakes-ice-report", "name": "icewatch",
"version": "1.0.0", "version": "1.0.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "great-lakes-ice-report", "name": "icewatch",
"version": "1.0.0", "version": "1.0.0",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",

View file

@ -1,5 +1,5 @@
{ {
"name": "great-lakes-ice-report", "name": "icewatch",
"version": "1.0.0", "version": "1.0.0",
"description": "Great Lakes Ice Report - Community-driven winter road conditions tracker for Michigan", "description": "Great Lakes Ice Report - Community-driven winter road conditions tracker for Michigan",
"main": "dist/server.js", "main": "dist/server.js",

View file

@ -43,7 +43,7 @@ ice.puremichigan.lol {
# Logging for monitoring # Logging for monitoring
log { log {
output file /var/log/caddy/great-lakes-ice-report.log { output file /var/log/caddy/icewatch.log {
roll_size 100MB roll_size 100MB
roll_keep 5 roll_keep 5
} }

View file

@ -1,24 +0,0 @@
[Unit]
Description=Great Lakes Ice Report - Community Winter Conditions Tool
After=network.target
Wants=network.target
[Service]
Type=simple
User=great-lakes-ice-report
Group=great-lakes-ice-report
WorkingDirectory=/opt/great-lakes-ice-report
ExecStart=/usr/bin/node server.js
Restart=always
RestartSec=5
Environment=NODE_ENV=production
# Security settings
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/opt/great-lakes-ice-report
[Install]
WantedBy=multi-user.target