mirror of
https://github.com/Slava-Shchipunov/awg-openwrt.git
synced 2026-03-14 01:13:09 +00:00
feat: upgrade workflow
This commit is contained in:
42
.github/workflows/build-module.yml
vendored
42
.github/workflows/build-module.yml
vendored
@@ -1,22 +1,44 @@
|
|||||||
name: Create Release on Tag
|
name: Create Release on Tag
|
||||||
# on: [workflow_dispatch]
|
# on: [workflow_dispatch]
|
||||||
# on:
|
on:
|
||||||
# push:
|
push:
|
||||||
# tags:
|
tags:
|
||||||
# - "v*.*.*"
|
- "v*.*.*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
generate-config:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
job-config: ${{ steps.generate-config.outputs.job-config }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '20.16.0'
|
||||||
|
|
||||||
|
- name: Get OpenWRT version from tag
|
||||||
|
id: get_version
|
||||||
|
run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm install
|
||||||
|
|
||||||
|
- name: Generate Job Config
|
||||||
|
id: generate-config
|
||||||
|
run: node index.js ${{ env.VERSION }}
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
build:
|
build:
|
||||||
name: "v${{ matrix.build_env.tag }} - ${{ matrix.build_env.pkgarch}} :: ${{ matrix.build_env.target}}/${{ matrix.build_env.subtarget}} build"
|
name: "v${{ matrix.build_env.tag }} - ${{ matrix.build_env.pkgarch}} :: ${{ matrix.build_env.target}}/${{ matrix.build_env.subtarget}} build"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
needs: generate-config
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
build_env:
|
build_env: ${{ fromJson(needs.generate-config.outputs.job-config) }}
|
||||||
- tag: "23.05.4"
|
|
||||||
pkgarch: aarch64_cortex-a53
|
|
||||||
target: mediatek
|
|
||||||
subtarget: filogic
|
|
||||||
vermagic: "03ba5b5fee47f2232a088e3cd9832aec"
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|||||||
35
.github/workflows/tets-script.yml
vendored
35
.github/workflows/tets-script.yml
vendored
@@ -1,35 +0,0 @@
|
|||||||
name: OpenWRT Data Fetch
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- 'v*.*.*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
fetch-data:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: '20.16.0'
|
|
||||||
|
|
||||||
- name: Get OpenWRT version from tag
|
|
||||||
id: get_version
|
|
||||||
run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm install
|
|
||||||
|
|
||||||
- name: Run script with version
|
|
||||||
run: node index.js ${{ env.VERSION }}
|
|
||||||
|
|
||||||
- name: Upload results.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: results
|
|
||||||
path: results.json
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,2 @@
|
|||||||
.idea/
|
.idea/
|
||||||
node_modules/
|
node_modules/
|
||||||
results.json
|
|
||||||
|
|||||||
44
index.js
44
index.js
@@ -1,8 +1,14 @@
|
|||||||
const axios = require('axios');
|
const axios = require('axios');
|
||||||
const cheerio = require('cheerio');
|
const cheerio = require('cheerio');
|
||||||
const fs = require('fs');
|
const core = require('@actions/core');
|
||||||
|
|
||||||
const version = process.argv[2]; // Получение версии OpenWRT из аргумента командной строки
|
const version = process.argv[2]; // Получение версии OpenWRT из аргумента командной строки
|
||||||
|
|
||||||
|
if (!version) {
|
||||||
|
core.setFailed('Version argument is required');
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
const url = `https://downloads.openwrt.org/releases/${version}/targets/`;
|
const url = `https://downloads.openwrt.org/releases/${version}/targets/`;
|
||||||
|
|
||||||
async function fetchHTML(url) {
|
async function fetchHTML(url) {
|
||||||
@@ -60,25 +66,27 @@ async function getDetails(target, subtarget) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
const targets = await getTargets();
|
try {
|
||||||
const results = [];
|
const targets = await getTargets();
|
||||||
|
const jobConfig = [];
|
||||||
|
|
||||||
for (const target of targets) {
|
for (const target of targets) {
|
||||||
const subtargets = await getSubtargets(target);
|
const subtargets = await getSubtargets(target);
|
||||||
for (const subtarget of subtargets) {
|
for (const subtarget of subtargets) {
|
||||||
const { vermagic, pkgarch } = await getDetails(target, subtarget);
|
const { vermagic, pkgarch } = await getDetails(target, subtarget);
|
||||||
results.push({
|
jobConfig.push({
|
||||||
tag: version,
|
tag: version,
|
||||||
target,
|
target,
|
||||||
subtarget,
|
subtarget,
|
||||||
vermagic,
|
vermagic,
|
||||||
pkgarch,
|
pkgarch,
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
core.setOutput('job-config', JSON.stringify(jobConfig));
|
||||||
|
} catch (error) {
|
||||||
|
core.setFailed(error.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
fs.writeFileSync('results.json', JSON.stringify(results, null, 2), 'utf-8');
|
|
||||||
console.log('Results written to results.json');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main().catch(console.error);
|
main();
|
||||||
|
|||||||
60
package-lock.json
generated
60
package-lock.json
generated
@@ -9,10 +9,52 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@actions/core": "^1.10.1",
|
||||||
"axios": "^1.3.1",
|
"axios": "^1.3.1",
|
||||||
"cheerio": "^1.0.0"
|
"cheerio": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@actions/core": {
|
||||||
|
"version": "1.10.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz",
|
||||||
|
"integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@actions/http-client": "^2.0.1",
|
||||||
|
"uuid": "^8.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@actions/http-client": {
|
||||||
|
"version": "2.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.1.tgz",
|
||||||
|
"integrity": "sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"tunnel": "^0.0.6",
|
||||||
|
"undici": "^5.25.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@actions/http-client/node_modules/undici": {
|
||||||
|
"version": "5.28.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
|
||||||
|
"integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@fastify/busboy": "^2.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@fastify/busboy": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/asynckit": {
|
"node_modules/asynckit": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
@@ -354,6 +396,15 @@
|
|||||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/tunnel": {
|
||||||
|
"version": "0.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
|
||||||
|
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/undici": {
|
"node_modules/undici": {
|
||||||
"version": "6.19.7",
|
"version": "6.19.7",
|
||||||
"resolved": "https://registry.npmjs.org/undici/-/undici-6.19.7.tgz",
|
"resolved": "https://registry.npmjs.org/undici/-/undici-6.19.7.tgz",
|
||||||
@@ -363,6 +414,15 @@
|
|||||||
"node": ">=18.17"
|
"node": ">=18.17"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/uuid": {
|
||||||
|
"version": "8.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||||
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"bin": {
|
||||||
|
"uuid": "dist/bin/uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/whatwg-encoding": {
|
"node_modules/whatwg-encoding": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/Slava-Shchipunov/awg-openwrt#readme",
|
"homepage": "https://github.com/Slava-Shchipunov/awg-openwrt#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@actions/core": "^1.10.1",
|
||||||
"axios": "^1.3.1",
|
"axios": "^1.3.1",
|
||||||
"cheerio": "^1.0.0"
|
"cheerio": "^1.0.0"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user