Переработан workflow и добавлена сборка MSI пакета.
Some checks failed
build / build (push) Successful in 46s
build / build_windows (push) Successful in 47s
release / build (push) Successful in 42s
release / build_windows (push) Successful in 42s
release / deploy (push) Failing after 11s
release / release (push) Has been skipped
Some checks failed
build / build (push) Successful in 46s
build / build_windows (push) Successful in 47s
release / build (push) Successful in 42s
release / build_windows (push) Successful in 42s
release / deploy (push) Failing after 11s
release / release (push) Has been skipped
This commit is contained in:
parent
6b980d730f
commit
294a8dd1ee
@ -10,8 +10,6 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# container:
|
|
||||||
# image: git.mousesoft.ru/ms/gitea-runner-images:python-ubuntu-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: check-out repository code
|
- name: check-out repository code
|
||||||
uses: https://gitea.com/actions/checkout@v4
|
uses: https://gitea.com/actions/checkout@v4
|
||||||
@ -24,34 +22,62 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ">=1.22"
|
go-version: ">=1.22"
|
||||||
|
|
||||||
- name: test
|
- name: set-up dependencies
|
||||||
run: make clean vendor lint test
|
run: make clean vendor
|
||||||
|
|
||||||
- name: cache
|
- name: test
|
||||||
uses: https://gitea.com/actions/cache@v4
|
run: make lint test
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
out/*.tar.gz
|
|
||||||
key: ms_drawio-export_${{ github.sha }}
|
|
||||||
|
|
||||||
- name: build amd64 binary
|
- name: build amd64 binary
|
||||||
if: steps.cache.outputs.cache-hit != 'true'
|
id: build-amd
|
||||||
run: GOARCH=amd64 make clean build
|
run: |
|
||||||
|
echo "ARTIFACT=drawio-export-$(make version)_$(go env GOOS)-amd64" >> $GITHUB_OUTPUT
|
||||||
|
GOARCH=amd64 make clean build
|
||||||
|
|
||||||
- name: upload amd64 binary artifact
|
- name: upload amd64 binary artifact
|
||||||
uses: https://gitea.com/actions/upload-artifact@v3
|
uses: https://gitea.com/actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: drawio-export-amd64
|
name: ${{ steps.build-amd.outputs.ARTIFACT }}
|
||||||
path: out/bin/*
|
path: out/bin/*
|
||||||
overwrite: true
|
overwrite: true
|
||||||
|
|
||||||
- name: build arm64 binary
|
- name: build arm64 binary
|
||||||
if: steps.cache.outputs.cache-hit != 'true'
|
id: build-arm
|
||||||
run: GOARCH=arm64 make clean build
|
run: |
|
||||||
|
echo "ARTIFACT=drawio-export-$(make version)_$(go env GOOS)-arm64" >> $GITHUB_OUTPUT
|
||||||
|
GOARCH=arm64 make clean build
|
||||||
|
|
||||||
- name: upload arm64 binary artifact
|
- name: upload arm64 binary artifact
|
||||||
uses: https://gitea.com/actions/upload-artifact@v3
|
uses: https://gitea.com/actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: drawio-export-arm64
|
name: ${{ steps.build-arm.outputs.ARTIFACT }}
|
||||||
|
path: out/bin/*
|
||||||
|
overwrite: true
|
||||||
|
|
||||||
|
build_windows:
|
||||||
|
runs-on: windows
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
steps:
|
||||||
|
- name: check-out repository code
|
||||||
|
uses: https://gitea.com/actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
fetch-tags: true
|
||||||
|
|
||||||
|
- name: set-up dependencies
|
||||||
|
run: make vendor
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
id: build
|
||||||
|
run: |
|
||||||
|
echo "ARTIFACT=drawio-export-$(make version)_$(go env GOOS)-$(go env GOARCH)" >> $GITHUB_OUTPUT
|
||||||
|
make build
|
||||||
|
|
||||||
|
- name: upload artifact
|
||||||
|
uses: https://gitea.com/actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ steps.build.outputs.ARTIFACT }}
|
||||||
path: out/bin/*
|
path: out/bin/*
|
||||||
overwrite: true
|
overwrite: true
|
||||||
|
@ -8,10 +8,11 @@ on:
|
|||||||
- "v*"
|
- "v*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# container:
|
outputs:
|
||||||
# image: git.mousesoft.ru/ms/gitea-runner-images:python-ubuntu-latest
|
artifact_amd64: ${{ steps.build-amd.outputs.ARTIFACT }}
|
||||||
|
artifact_arm64: ${{ steps.build-arm.outputs.ARTIFACT }}
|
||||||
steps:
|
steps:
|
||||||
- name: check-out repository code
|
- name: check-out repository code
|
||||||
uses: https://gitea.com/actions/checkout@v4
|
uses: https://gitea.com/actions/checkout@v4
|
||||||
@ -24,26 +25,107 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ">=1.22"
|
go-version: ">=1.22"
|
||||||
|
|
||||||
- name: test
|
- name: set-up dependencies
|
||||||
run: make clean vendor lint test
|
run: make clean vendor
|
||||||
|
|
||||||
- name: cache
|
- name: test
|
||||||
uses: https://gitea.com/actions/cache@v4
|
run: make lint test
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
out/*.deb
|
|
||||||
out/*.changes
|
|
||||||
key: ms_drawio-export_pkg_${{ github.sha }}
|
|
||||||
|
|
||||||
- name: build amd64 package
|
- name: build amd64 package
|
||||||
if: steps.cache.outputs.cache-hit != 'true'
|
id: build-amd
|
||||||
run: GOARCH=amd64 make package
|
run: |
|
||||||
|
echo "ARTIFACT=drawio-export-$(make version)_$(go env GOOS)-amd64" >> $GITHUB_OUTPUT
|
||||||
|
GOARCH=amd64 make clean build package
|
||||||
|
|
||||||
|
- name: upload amd64 package
|
||||||
|
uses: https://gitea.com/actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ steps.build-amd.outputs.ARTIFACT }}
|
||||||
|
path: |
|
||||||
|
out/*.changes
|
||||||
|
out/*.deb
|
||||||
|
overwrite: true
|
||||||
|
|
||||||
- name: build arm64 package
|
- name: build arm64 package
|
||||||
if: steps.cache.outputs.cache-hit != 'true'
|
id: build-arm
|
||||||
run: GOARCH=arm64 make package
|
run: |
|
||||||
|
echo "ARTIFACT=drawio-export-$(make version)_$(go env GOOS)-arm64" >> $GITHUB_OUTPUT
|
||||||
|
GOARCH=arm64 make clean build package
|
||||||
|
|
||||||
- name: deploy packages
|
- name: upload arm64 package
|
||||||
|
uses: https://gitea.com/actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ steps.build-arm.outputs.ARTIFACT }}
|
||||||
|
path: |
|
||||||
|
out/*.changes
|
||||||
|
out/*.deb
|
||||||
|
overwrite: true
|
||||||
|
|
||||||
|
build_windows:
|
||||||
|
runs-on: windows
|
||||||
|
outputs:
|
||||||
|
artifact: ${{ steps.build.outputs.ARTIFACT }}
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
steps:
|
||||||
|
- name: check-out repository code
|
||||||
|
uses: https://gitea.com/actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
fetch-tags: true
|
||||||
|
|
||||||
|
- name: set-up dependencies
|
||||||
|
run: make vendor
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
id: build
|
||||||
|
run: |
|
||||||
|
echo "ARTIFACT=drawio-export-$(make version)_$(go env GOOS)-$(go env GOARCH)" >> $GITHUB_OUTPUT
|
||||||
|
make clean build package
|
||||||
|
|
||||||
|
- name: upload artifact
|
||||||
|
uses: https://gitea.com/actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ steps.build.outputs.ARTIFACT }}
|
||||||
|
path: out/*.msi
|
||||||
|
overwrite: true
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
version: ${{ steps.meta.outputs.VERSION }}
|
||||||
|
changes: ${{ steps.meta.outputs.CHANGES }}
|
||||||
|
needs:
|
||||||
|
- build
|
||||||
|
steps:
|
||||||
|
- name: check-out repository code
|
||||||
|
uses: https://gitea.com/actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
fetch-tags: true
|
||||||
|
|
||||||
|
- name: get meta-data
|
||||||
|
id: meta
|
||||||
|
run: |
|
||||||
|
echo "VERSION=$(make version)" >> $GITHUB_OUTPUT
|
||||||
|
echo 'CHANGES<<EOF' >> $GITHUB_OUTPUT
|
||||||
|
gawk -f scripts/changes.awk -v version=$(make version-number) CHANGELOG.md >> $GITHUB_OUTPUT
|
||||||
|
echo EOF >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: download debian amd64 package
|
||||||
|
uses: https://gitea.com/actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ needs.build.outputs.artifact_amd64 }}
|
||||||
|
path: out/
|
||||||
|
|
||||||
|
- name: download debian ard64 package
|
||||||
|
uses: https://gitea.com/actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ needs.build.outputs.artifact_arm64 }}
|
||||||
|
path: out/
|
||||||
|
|
||||||
|
- name: deploy debian packages
|
||||||
env:
|
env:
|
||||||
SSH_HOST: ${{ secrets.DEB_SSH_HOST }}
|
SSH_HOST: ${{ secrets.DEB_SSH_HOST }}
|
||||||
SSH_PORT: ${{ secrets.DEB_SSH_PORT }}
|
SSH_PORT: ${{ secrets.DEB_SSH_PORT }}
|
||||||
@ -65,21 +147,39 @@ jobs:
|
|||||||
cat ~/.ssh/config
|
cat ~/.ssh/config
|
||||||
make deploy
|
make deploy
|
||||||
|
|
||||||
- name: get meta-data
|
release:
|
||||||
id: meta
|
runs-on: ubuntu-latest
|
||||||
run: |
|
needs:
|
||||||
echo "VERSION=$(make version)" >> $GITHUB_OUTPUT
|
- build
|
||||||
echo 'CHANGES<<EOF' >> $GITHUB_OUTPUT
|
- build_windows
|
||||||
gawk -f scripts/changes.awk -v version=$(make version-number) CHANGELOG.md >> $GITHUB_OUTPUT
|
- deploy
|
||||||
echo EOF >> $GITHUB_OUTPUT
|
steps:
|
||||||
|
- name: download debian amd64 package
|
||||||
|
uses: https://gitea.com/actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ needs.build.outputs.artifact_amd64 }}
|
||||||
|
path: out/
|
||||||
|
|
||||||
|
- name: download debian ard64 package
|
||||||
|
uses: https://gitea.com/actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ needs.build.outputs.artifact_arm64 }}
|
||||||
|
path: out/
|
||||||
|
|
||||||
|
- name: download windows package
|
||||||
|
uses: https://gitea.com/actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ needs.build_windows.outputs.artifact }}
|
||||||
|
path: out/
|
||||||
|
|
||||||
- name: release
|
- name: release
|
||||||
uses: https://gitea.com/actions/gitea-release-action@v1
|
uses: https://gitea.com/actions/gitea-release-action@v1
|
||||||
with:
|
with:
|
||||||
title: "MouseSoft DrawIO-Export ${{ steps.meta.outputs.VERSION }}"
|
title: "MouseSoft DrawIO-Export ${{ needs.deploy.outputs.version }}"
|
||||||
body: "${{ steps.meta.outputs.CHANGES }}"
|
body: "${{ needs.deploy.outputs.changes }}"
|
||||||
files: |
|
files: |
|
||||||
out/*.deb
|
out/*.deb
|
||||||
|
out/*.msi
|
||||||
sha256sum: true
|
sha256sum: true
|
||||||
prerelease: true
|
prerelease: true
|
||||||
draft: true
|
draft: true
|
||||||
|
6
makefile
6
makefile
@ -31,7 +31,7 @@ ECHO_CMD := echo
|
|||||||
|
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq ($(OS),Windows_NT)
|
||||||
DIST_SUFFIX := windows-$(GOARCH)
|
DIST_SUFFIX := windows-$(GOARCH)
|
||||||
MSI_FILE := $(PROJECT_ID)_$(VERSION)_$(GOARCH).msi
|
MSI_FILE ?= $(PROJECT_ID)_$(VERSION)_$(GOARCH).msi
|
||||||
DIST_EXT := .zip
|
DIST_EXT := .zip
|
||||||
DIST_OPTS := -a -cf
|
DIST_OPTS := -a -cf
|
||||||
ECHO_CMD := echo -e
|
ECHO_CMD := echo -e
|
||||||
@ -112,7 +112,7 @@ package: $(PACKAGE_TARGETS) ## Build all available packages
|
|||||||
.PHONY:package
|
.PHONY:package
|
||||||
|
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq ($(OS),Windows_NT)
|
||||||
pkg-msi: build ## Create MSI package
|
pkg-msi: ## Create MSI package
|
||||||
@rm -rf $(TMPDIR)
|
@rm -rf $(TMPDIR)
|
||||||
@rm -f $(OUTDIR)/$(MSI_FILE)
|
@rm -f $(OUTDIR)/$(MSI_FILE)
|
||||||
@mkdir -p $(TMPDIR)
|
@mkdir -p $(TMPDIR)
|
||||||
@ -132,7 +132,7 @@ else
|
|||||||
|
|
||||||
DEB_NAME := $(PROJECT_ID)_$(VERSION_NUMBER)-1_$(GOARCH)
|
DEB_NAME := $(PROJECT_ID)_$(VERSION_NUMBER)-1_$(GOARCH)
|
||||||
|
|
||||||
pkg-deb: build ## Build debian package
|
pkg-deb: ## Build debian package
|
||||||
@rm -rf $(TMPDIR)
|
@rm -rf $(TMPDIR)
|
||||||
@mkdir -p $(TMPDIR)/$(DEB_NAME)/usr/bin
|
@mkdir -p $(TMPDIR)/$(DEB_NAME)/usr/bin
|
||||||
@mkdir -p $(TMPDIR)/$(DEB_NAME)/debian
|
@mkdir -p $(TMPDIR)/$(DEB_NAME)/debian
|
||||||
|
Loading…
Reference in New Issue
Block a user