Rewrite in typescrypt #327
53
.github/workflows/publish_docker_main.yml
vendored
Normal file
53
.github/workflows/publish_docker_main.yml
vendored
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
name: Publish latest image
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "docker-compose.yml"
|
||||||
|
- "package*.json"
|
||||||
|
- "Dockerfile"
|
||||||
|
- "README.md"
|
||||||
|
- "src/**/*"
|
||||||
|
- ".github/**/*"
|
||||||
|
|
||||||
|
env:
|
||||||
|
# DOCKERPLATFORM: "linux/amd64,linux/arm64"
|
||||||
|
DOCKERPLATFORM: "linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x"
|
||||||
|
DOCKERIMAGE: "ghcr.io/the-bds-maneger/core"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
latestDeploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Publish latest
|
||||||
|
environment:
|
||||||
|
name: PublishImage
|
||||||
|
url: "ghcr.io/ofvp-project/deamonmaneger"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2.4.0
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Setup QEMU to Docker
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
|
||||||
|
- name: Setup Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
|
- name: Login into registry Github Packages
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and Push image
|
||||||
|
uses: docker/build-push-action@v2
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
push: true
|
||||||
|
target: server
|
||||||
|
tags: ${{ env.DOCKERIMAGE }}:latest
|
||||||
|
platforms: ${{ env.DOCKERPLATFORM }}
|
||||||
|
cache-from: type=gha,scope=${{ github.ref }}_${{ hashFiles('**/package-lock.json') }}
|
||||||
|
cache-to: type=gha,mode=max,scope=${{ github.ref }}_${{ hashFiles('**/package-lock.json') }}
|
46
.github/workflows/publish_docker_release.yml
vendored
Normal file
46
.github/workflows/publish_docker_release.yml
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
name: Publish release image
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- created
|
||||||
|
|
||||||
|
env:
|
||||||
|
# DOCKERPLATFORM: "linux/amd64,linux/arm64"
|
||||||
|
DOCKERPLATFORM: "linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x"
|
||||||
|
DOCKERIMAGE: "ghcr.io/the-bds-maneger/core"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
latestDeploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Publish latest
|
||||||
|
environment:
|
||||||
|
name: PublishImage
|
||||||
|
url: "ghcr.io/ofvp-project/deamonmaneger"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2.4.0
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Setup QEMU to Docker
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
|
||||||
|
- name: Setup Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
|
- name: Login into registry Github Packages
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and Push image
|
||||||
|
uses: docker/build-push-action@v2
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
push: true
|
||||||
|
target: server
|
||||||
|
tags: ${{ env.DOCKERIMAGE }}:latest
|
||||||
|
platforms: ${{ env.DOCKERPLATFORM }}
|
||||||
|
cache-from: type=gha,scope=${{ github.ref }}_${{ hashFiles('**/package-lock.json') }}
|
||||||
|
cache-to: type=gha,mode=max,scope=${{ github.ref }}_${{ hashFiles('**/package-lock.json') }}
|
73
.github/workflows/publish_npm_main.yml
vendored
Normal file
73
.github/workflows/publish_npm_main.yml
vendored
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
name: Publish dev/next module release
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "docker-compose.yml"
|
||||||
|
- "package*.json"
|
||||||
|
- "Dockerfile"
|
||||||
|
- "README.md"
|
||||||
|
- "src/**/*"
|
||||||
|
- ".github/**/*"
|
||||||
|
|
||||||
|
env:
|
||||||
|
# DOCKERPLATFORM: "linux/amd64,linux/arm64"
|
||||||
|
DOCKERPLATFORM: "linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x"
|
||||||
|
DOCKERIMAGE: "ghcr.io/the-bds-maneger/core"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
latestDeploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Publish npm module
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
npm_registry:
|
||||||
|
- "Github"
|
||||||
|
- "NPM"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2.4.0
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Setup Node.js (NPM Packages)
|
||||||
|
if: matrix.npm_registry == 'NPM'
|
||||||
|
uses: actions/setup-node@v3.0.0
|
||||||
|
with:
|
||||||
|
node-version: 16.x
|
||||||
|
registry-url: https://registry.npmjs.org/
|
||||||
|
|
||||||
|
- name: Setup Node.js (Github Packages)
|
||||||
|
if: matrix.npm_registry == 'Github'
|
||||||
|
uses: actions/setup-node@v3.0.0
|
||||||
|
with:
|
||||||
|
node-version: 16.x
|
||||||
|
registry-url: https://npm.pkg.github.com/
|
||||||
|
|
||||||
|
- name: Edit Version to next release
|
||||||
|
shell: node {0}
|
||||||
|
run: |
|
||||||
|
const fs = require("fs");
|
||||||
|
const JsonPackage = JSON.parse(fs.readFileSync(process.cwd()+"/package.json", "utf8"));
|
||||||
|
const run_ID = "${{ github.run_id }}";
|
||||||
|
JsonPackage.version = `${run_ID.slice(0, 2)}.${run_ID.slice(3, 6)}.${run_ID.slice(7, 11)}`;
|
||||||
|
fs.writeFileSync(process.cwd()+"/package.json", JSON.stringify(JsonPackage, null, 2));
|
||||||
|
console.log("New Version to Package:", JsonPackage.version);
|
||||||
|
|
||||||
|
- name: Install node depencies
|
||||||
|
run: npm install -d
|
||||||
|
|
||||||
|
- name: Build typescript to CJS and ESM
|
||||||
|
run: npm run build
|
||||||
|
|
||||||
|
- name: Publish Package
|
||||||
|
run: |
|
||||||
|
set -x
|
||||||
|
if [[ "${{ matrix.npm_registry }}" == "Github" ]];then
|
||||||
|
echo "Publish to Github Packages"
|
||||||
|
export NODE_AUTH_TOKEN="${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
else
|
||||||
|
echo "Publish to NPM Registry"
|
||||||
|
export NODE_AUTH_TOKEN="${{ secrets.NPM_ORG_TOKEN }}"
|
||||||
|
fi
|
||||||
|
npm publish --tag next
|
85
.github/workflows/publish_npm_release.yml
vendored
Normal file
85
.github/workflows/publish_npm_release.yml
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
name: Publish release module release
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- created
|
||||||
|
|
||||||
|
env:
|
||||||
|
# DOCKERPLATFORM: "linux/amd64,linux/arm64"
|
||||||
|
DOCKERPLATFORM: "linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x"
|
||||||
|
DOCKERIMAGE: "ghcr.io/the-bds-maneger/core"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
latestDeploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Publish npm module
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
npm_registry:
|
||||||
|
- "Github"
|
||||||
|
- "NPM"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2.4.0
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Setup Node.js (NPM Packages)
|
||||||
|
if: matrix.npm_registry == 'NPM'
|
||||||
|
uses: actions/setup-node@v3.0.0
|
||||||
|
with:
|
||||||
|
node-version: 16.x
|
||||||
|
registry-url: https://registry.npmjs.org/
|
||||||
|
|
||||||
|
- name: Setup Node.js (Github Packages)
|
||||||
|
if: matrix.npm_registry == 'Github'
|
||||||
|
uses: actions/setup-node@v3.0.0
|
||||||
|
with:
|
||||||
|
node-version: 16.x
|
||||||
|
registry-url: https://npm.pkg.github.com/
|
||||||
|
|
||||||
|
- name: Remove Dev Version
|
||||||
|
shell: node {0}
|
||||||
|
run: |
|
||||||
|
const child_process = require("child_process");
|
||||||
|
const fs = require("fs");
|
||||||
|
const path = require("path");
|
||||||
|
const cli_color = require("cli-color");
|
||||||
|
(async function() {
|
||||||
|
global.fetch = (await import("node-fetch")).default;
|
||||||
|
fetch("https://registry.npmjs.org/@the-bds-maneger/core").then(res => res.json()).then(data => {
|
||||||
|
data.versions = Object.getOwnPropertyNames(data.versions).filter(version => /[0-9]+\.[0-9][0-9][0-9]/.test(version) && version !== data["dist-tags"].dev && version !== data["dist-tags"].latest)
|
||||||
|
fs.writeFileSync(path.resolve(__dirname, "Releases.json"), JSON.stringify(data, null, 2));
|
||||||
|
const Package = require(process.cwd()+"/package.json");
|
||||||
|
data.versions.map(version => {
|
||||||
|
const cmd = `npm unpublish ${Package.name}@${version}`;
|
||||||
|
console.log(cli_color.yellow(cmd));
|
||||||
|
try {
|
||||||
|
child_process.execSync(cmd).toString()
|
||||||
|
console.log(cli_color.green(`Sucess to remove ${Package.name}@${version}`, "\n"));
|
||||||
|
return cmd;
|
||||||
|
} catch (e) {
|
||||||
|
console.log(cli_color.red(`Failed to remove package: ${Package.name}@${version}`), "\n");
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
fs.writeFileSync(path.resolve(__dirname, "Releases.json"), JSON.stringify(data, null, 2));
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
|
- name: Install node depencies
|
||||||
|
run: npm install -d
|
||||||
|
|
||||||
|
- name: Build typescript to CJS and ESM
|
||||||
|
run: npm run build
|
||||||
|
|
||||||
|
- name: Publish Package
|
||||||
|
run: |
|
||||||
|
set -x
|
||||||
|
if [[ "${{ matrix.npm_registry }}" == "Github" ]];then
|
||||||
|
echo "Publish to Github Packages"
|
||||||
|
export NODE_AUTH_TOKEN="${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
else
|
||||||
|
echo "Publish to NPM Registry"
|
||||||
|
export NODE_AUTH_TOKEN="${{ secrets.NPM_ORG_TOKEN }}"
|
||||||
|
fi
|
||||||
|
npm publish
|
34
.github/workflows/pull_request.yml
vendored
Normal file
34
.github/workflows/pull_request.yml
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
name: Publish dev/next module release
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
env:
|
||||||
|
# DOCKERPLATFORM: "linux/amd64,linux/arm64"
|
||||||
|
DOCKERPLATFORM: "linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x"
|
||||||
|
DOCKERIMAGE: "ghcr.io/the-bds-maneger/core"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
latestDeploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Publish npm module
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node_version:
|
||||||
|
- "15"
|
||||||
|
- "16"
|
||||||
|
- "17"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2.4.0
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Setup Node.js (Github Packages)
|
||||||
|
uses: actions/setup-node@v3.0.0
|
||||||
|
with:
|
||||||
|
node-version: "${{ matrix.node_version }}.x"
|
||||||
|
|
||||||
|
- name: Install node depencies
|
||||||
|
run: npm install -d
|
||||||
|
|
||||||
|
- name: Build typescript to CJS and ESM
|
||||||
|
run: npm run build
|
Reference in New Issue
Block a user