All checks were successful
Build and Deploy on Tag / build-crosslang-shell-and-cpkg (push) Successful in 52s
91 lines
3.9 KiB
YAML
91 lines
3.9 KiB
YAML
name: Build and Deploy on Tag
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
env:
|
|
VERSION: ${{ gitea.ref_name }}
|
|
CLWS_PACKAGE: tesses50/crosslang-withshell
|
|
CPKG_PACKAGE: tesses50/cpkg
|
|
GITEA_DOMAIN: git.tesses.org
|
|
GITEA_REGISTRY_USER: tesses50
|
|
|
|
jobs:
|
|
build-crosslang-shell-and-cpkg:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: |
|
|
cd vscode-extension
|
|
npm install
|
|
npm install -g typescript
|
|
npm install -g @vscode/vsce
|
|
vsce package
|
|
cd ..
|
|
wget -O /usr/local/bin/crosslang https://redirect.tesses.net/cl-slim-x86_64-linux-musl
|
|
chmod 755 /usr/local/bin/crosslang
|
|
ln -s /usr/local/bin/crosslang /usr/local/bin/crossc
|
|
ln -s /usr/local/bin/crosslang /usr/local/bin/crossint
|
|
ln -s /usr/local/bin/crosslang /usr/local/bin/crossvm
|
|
crossint ./build.tcross pack
|
|
crossint ./build.tcross install
|
|
mkdir -p artifacts
|
|
cp Tesses.CrossLang.ShellPackage-*.crvm artifacts/ShellPackage.crvm
|
|
cp Tesses.CrossLang.PackageServer/bin/Tesses.CrossLang.PackageServer-*.crvm artifacts/CPKG.crvm
|
|
cd Tesses.CrossLang.PackageServer
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../Tesses.CrossLang.Args
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../Tesses.CrossLang.BuildEssentials
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../Tesses.CrossLang.Std
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../Tesses.CrossLang.Reference
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../Templates/compiletool
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../console
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../emptyweb
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../lib
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../template
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../tool
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../web
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
cd ../webapp
|
|
crosslang upload-package --token="{{ secrets.CPKG_KEY }}" --host="https://cpkg.tesseslanguage.com/"
|
|
- name: "Publish artifacts"
|
|
uses: akkuman/gitea-release-action@v1
|
|
env:
|
|
NODE_OPTIONS: '--experimental-fetch' # if nodejs < 18
|
|
with:
|
|
prerelease: true
|
|
files: |-
|
|
artifacts/**
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
- name: Log in to registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ${{ env.GITEA_DOMAIN }}
|
|
username: ${{ env.GITEA_REGISTRY_USER }}
|
|
password: ${{ secrets.PACKAGE_AND_BREW }}
|
|
- name: Build and push image
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile
|
|
push: true
|
|
tags: ${{ env.GITEA_DOMAIN }}/${{ env.CLWS_PACKAGE }}:latest
|
|
- name: Build and push image
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile.cpkg
|
|
push: true
|
|
tags: ${{ env.GITEA_DOMAIN }}/${{ env.CPKG_PACKAGE }}:latest |