Não tem segredo fazer isso no repositório.
Criar pasta ".github"
Criar pastsa ".github/workflows"
Nesta última pasta, salvar os projetos YML.
Código: Selecionar todos
#
# create: JoseQuintas/addons/hbpp_0703
name: Harbourpp mingw 7.3
on:
# push:
schedule:
- cron: "15 5 1 * *"
workflow_dispatch:
inputs:
name:
description: 'Harbour++ mingw 7.3
x86_64-7.3.0-release-posix-sjlj-rt_v5-rev0'
default: 'hbpp_0703'
required: true
jobs:
Build:
runs-on: windows-latest
steps:
- name: Load Source Code
env:
REPO: JoseQuintas/harbourpp-v1
run: |
c:
git clone https://github.com/$env:repo c:\temp\harbourpp --depth 1
cd \temp\harbourpp
- name: mingw 7.3
uses: dawidd6/action-download-artifact@v2
with:
workflow: mingw_0703.yml
workflow_conclusion: success
name: mingw_0703
path: c:\temp
repo: JoseQuintas/addons
- name: Unzip
env:
PATH: c:\program files\7-zip
run: |
c:
md c:\temp\harbour
md c:\temp\harbour\comp
7z x -y c:\temp\mingw_0703.7z -oc:\temp\comp
#- name: Build 32 bits
# env:
# HB_BUILD_STRIP: all
# HB_COMPILER: mingw
# HB_INSTALL_PREFIX: c:\temp\harbour
# HB_USER_CFLAGS: -std=c++11
# PATH: c:\temp\comp\mingw64\bin;c:\temp\harbour\bin
# run: |
# c:
# cd c:\temp\harbourpp
# mingw32-make clean install
- name: Build 64 bits
env:
HB_BUILD_STRIP: all
HB_COMPILER: mingw64
HB_INSTALL_PREFIX: c:\temp\harbour
HB_USER_CFLAGS: -std=c++11
PATH: c:\temp\comp\mingw64\bin;c:\temp\harbour\bin
run: |
c:
cd \temp\harbourpp
mingw32-make clean install
- name: Zip
env:
PATH: c:\program files\7-zip
run: |
c:
7z a -r c:\temp\hbpp_0703.7z c:\temp\harbour\*.* -xr'!.git' -xr'!.github' -xr'!.hbmk'
- name: Save
uses: actions/upload-artifact@v2
with:
name: hbpp_0703
path: c:\temp\hbpp_0703.7z
passo a passo:
indica pra executar o workflow todo dia 1, ou no click no github. está anotado (#) o que executa ao atualizar fonte
Código: Selecionar todos
on:
# push:
schedule:
- cron: "15 5 1 * *"
workflow_dispatch:
Estou usando diferente do normal, usando a pasta temp, e desprezando o repositório.
Baixa os fontes
Código: Selecionar todos
- name: Load Source Code
env:
REPO: JoseQuintas/harbourpp-v1
run: |
c:
git clone https://github.com/$env:repo c:\temp\harbourpp --depth 1
cd \temp\harbourpp
um "truque" que usei, tenho o mingw como anexo de outro workflow, aqui baixa
Código: Selecionar todos
- name: mingw 7.3
uses: dawidd6/action-download-artifact@v2
with:
workflow: mingw_0703.yml
workflow_conclusion: success
name: mingw_0703
path: c:\temp
repo: JoseQuintas/addons
descompacta o arquivo baixado
Código: Selecionar todos
- name: Unzip
env:
PATH: c:\program files\7-zip
run: |
c:
md c:\temp\harbour
md c:\temp\harbour\comp
7z x -y c:\temp\mingw_0703.7z -oc:\temp\comp
gera 32 bits, configurando as variáveis de ambiente e path primeiro
está anotado (#) senão dá erro e para por aí.
Código: Selecionar todos
#- name: Build 32 bits
# env:
# HB_BUILD_STRIP: all
# HB_COMPILER: mingw
# HB_INSTALL_PREFIX: c:\temp\harbour
# HB_USER_CFLAGS: -std=c++11
# PATH: c:\temp\comp\mingw64\bin;c:\temp\harbour\bin
# run: |
# c:
# cd c:\temp\harbourpp
# mingw32-make clean install
gera 64 bits
Código: Selecionar todos
- name: Build 64 bits
env:
HB_BUILD_STRIP: all
HB_COMPILER: mingw64
HB_INSTALL_PREFIX: c:\temp\harbour
HB_USER_CFLAGS: -std=c++11
PATH: c:\temp\comp\mingw64\bin;c:\temp\harbour\bin
run: |
c:
cd \temp\harbourpp
mingw32-make clean install
compacta o que foi gerado
Código: Selecionar todos
- name: Zip
env:
PATH: c:\program files\7-zip
run: |
c:
7z a -r c:\temp\hbpp_0703.7z c:\temp\harbour\*.* -xr'!.git' -xr'!.github' -xr'!.hbmk'
salva como anexo do workflow
Código: Selecionar todos
- name: Save
uses: actions/upload-artifact@v2
with:
name: hbpp_0703
path: c:\temp\hbpp_0703.7z
É uma pena que esse último não fica visível ao público.