SqlRdd
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SqlRdd
basicamente, se tá no github é só criar arquivo YML dentro da pasta .github\workflows
A partir daí aparece em actions.
aqui na minha máquina, conteúdo texto
visível no github na mesma localização, é público
em actions, se não for automático, aciona manual.
Nenhuma configuracão extra, é só criar os arquivos YML e tudo acontece.
Nestes dias postaram no harbour-users, talvez sirva de modelo pra msvc
https://github.com/FiveTechSoft/Harbour ... svc_32.yml
E no meu mais exemplos
https://github.com/JoseQuintas/sefazcla ... /workflows
No meu tem geração de harbour, hmg 3, hmg extended, oohg, hwgui, sefazclass, rmchartclass, compilação dlgauto usando hwgui, hmg3, hmg extended, oohg e gtwvg, compilação de harbour e hwgui em linux, e sei lá mais o que...
A partir daí aparece em actions.
aqui na minha máquina, conteúdo texto
visível no github na mesma localização, é público
em actions, se não for automático, aciona manual.
Nenhuma configuracão extra, é só criar os arquivos YML e tudo acontece.
Nestes dias postaram no harbour-users, talvez sirva de modelo pra msvc
https://github.com/FiveTechSoft/Harbour ... svc_32.yml
E no meu mais exemplos
https://github.com/JoseQuintas/sefazcla ... /workflows
No meu tem geração de harbour, hmg 3, hmg extended, oohg, hwgui, sefazclass, rmchartclass, compilação dlgauto usando hwgui, hmg3, hmg extended, oohg e gtwvg, compilação de harbour e hwgui em linux, e sei lá mais o que...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SqlRdd
Não tem muito segredo não.
que máquina vai usar
ferramentas baixadas de outros yml, ou de onde precisar, SE PRECISAR - vém várias pré-instaladas
unzip das ferramentas
baixar projetos (aqui crio variáveis de ambiente, só por criar mesmo)
E a compilação geral, também criando variáveis de ambiente
aí zipa tudo
e no fim salva o zip anexo à execução
e no início define se quer rodar automático a cada atualização (push), em horário determinado (schedule), ou manualmente (workflow_dispatch)
podem ser todos.
que máquina vai usar
Código: Selecionar todos
jobs:
Build:
runs-on: windows-latest
steps:
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/sefazclass
- name: harbour 3.2
uses: dawidd6/action-download-artifact@v2
with:
workflow: hb32_0703.yml
workflow_conclusion: success
name: hb32_0703
path: c:\temp
repo: JoseQuintas/sefazclass
Código: Selecionar todos
- name: Unzip
env:
PATH: c:\program files\7-zip
run: |
c:
7z x -y c:\temp\hb32_0703.7z -oc:\temp\harbour
7z x -y c:\temp\mingw_0703.7z -oc:\temp\mingw
Código: Selecionar todos
- name: Load Source Code
env:
REPO_SEFAZ: https://github.com/JoseQuintas/sefazclass
REPO_HWGUI: https://github.com/JoseQuintas/hwgui
REPO_HMGE: https://github.com/JoseQuintas/hmge
REPO_HMG3: https://github.com/JoseQuintas/hmg3
REPO_OOHG: https://github.com/JoseQuintas/oohg
REPO_DLGAUTO: https://github.com/JoseQuintas/dlgauto
PATH_HWGUI: c:\temp\harbour\addons\hwgui
PATH_HMGE: c:\temp\harbour\addons\hmge
PATH_HMG3: c:\temp\harbour\addons\hmg3
PATH_OOHG: c:\temp\harbour\addons\oohg
PATH_SEFAZ: c:\temp\harbour\addons\sefazclass
PATH_DLGAUTO: c:\temp\harbour\addons\dlgauto
run: |
c:
git clone $env:REPO_SEFAZ $env:PATH_SEFAZ --depth 1
git clone $env:REPO_HWGUI $env:PATH_HWGUI --depth 1
git clone $env:REPO_HMGE $env:PATH_HMGE --depth 1
git clone $env:REPO_HMG3 $env:PATH_HMG3 --depth 1
git clone $env:REPO_OOHG $env:PATH_OOHG --depth 1
git clone $env:REPO_DLGAUTO $env:PATH_DLGAUTO --depth 1
Código: Selecionar todos
- name: Build All
env:
HB_BUILD_STRIP: all
HB_COMPILER: mingw
HB_INSTALL_PREFIX: c:\temp\harbour
HBMK_CMD: -workdir=c:\temp -q -quiet
PATH: c:\temp\mingw\mingw32\bin;c:\temp\harbour\bin
run: |
c:
#copy c:\temp\harbour\sefazclass\gtwvg.hbc c:\temp\harbour\contrib\gtwvg
cd c:\temp\harbour\addons\sefazclass\sefazclass
hbmk2 sefazclass.hbp -workdir=c:\temp -q -rebuild
cd c:\temp\harbour\addons\sefazclass\bostaurus
hbmk2 bostaurus.hbp -workdir=c:\temp -q -rebuild
cd c:\temp\harbour\addons\sefazclass\rmchartclass
hbmk2 rmchartclass.hbp -workdir=c:\temp -q -rebuild
cd c:\temp\harbour\addons\sefazclass\pdfclass
hbmk2 pdfclass.hbp -workdir=c:\temp -q -rebuild
cd c:\temp\harbour\addons\sefazclass\wvgtest
hbmk2 wvgtest.hbp -workdir=c:\temp -q -rebuild
cd c:\temp\harbour\addons\hwgui
hbmk2 hbxml.hbp -workdir=c:\temp -q -rebuild
hbmk2 hwgui.hbp -workdir=c:\temp -q -rebuild
hbmk2 hwgdebug.hbp -workdir=c:\temp -q -rebuild
hbmk2 procmisc.hbp -workdir=c:\temp -q -rebuild
cd c:\temp\harbour\addons\hmge
hbmk2 hmge.hbp -workdir=c:\temp -q -rebuild
cd c:\temp\harbour\addons\hmg3
hbmk2 hmg3.hbp -workdir=c:\temp -q -rebuild
cd c:\temp\harbour\addons\oohg
hbmk2 oohg.hbp -workdir=c:\temp -q -rebuild
cd c:\temp\harbour\addons\dlgauto\source
hbmk2 test hwgui.hbc -q -rebuild
hbmk2 test hmg3.hbc -q -rebuild
hbmk2 test hmge.hbc -q -rebuild
hbmk2 test oohg.hbc -q -rebuild
hbmk2 test gtwvg.hbc -q -rebuild
Código: Selecionar todos
- name: Zip
env:
PATH: c:\program files\7-zip
run: |
c:
7z a -r c:\temp\hb32pack.7z c:\temp\harbour\*.* -xr'!.git' -xr'!.github' -xr'!.hbmk'
Código: Selecionar todos
- name: Save
uses: actions/upload-artifact@v3
with:
name: harbour
path: c:\temp\hb32pack.7z
podem ser todos.
Código: Selecionar todos
on:
push:
schedule:
- cron: "45 5 2 * *"
workflow_dispatch:
inputs:
name:
description: 'hb32pack'
default: 'hb32pack'
required: true
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SqlRdd
voltando à página de actions:
Fica rodando lá no github, pode ver o resultado depois, mas, se quiser, pode ficar acompanhando tudo on-line
Fica rodando lá no github, pode ver o resultado depois, mas, se quiser, pode ficar acompanhando tudo on-line
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SqlRdd
Aqui deu erro na HMG3, mas fica separada do principal
fiz a alteração e salvei
como é separado, não compilou automático, porque o principal não teve alteração
Então, acionei manual.
Mostra que está em execução.
Posso acompanhar, ou olhar depois.
Nota:
o github não detectou que deu erro desta vez.
talvez porque é subprojeto.
Podemos usar essas máquinas à vontade ?
Faço isso há anos.
Não uso os ZIPs pra nada, mas continuam sendo gerados e salvos até hoje.
O github NÃO APAGA NUNCA as execuções, mas apaga os anexos após 90 dias.
E se deixar sem atualizar por 90 dias, ele suspende as execuções automáticas, coloquei pra rodar automático todo mês, só esta mensal é suspensa.
Voltou a atualizar, o automático mensal também volta.
O mensal é só pra ficar renovando a validade dos zips, e não quero transferir o mingw de novo, ou deixar num projeto.
Isso é um truque que descobri, que deixa salvar arquivos no projeto, mas sem fazer parte do projeto.
O projeto fica só com os fontes, mas tem o mingw lá, meio escondidinho kkk
Dá pra salvar BCC e outras coisas desse jeito também, ou direto num projeto.
fiz a alteração e salvei
como é separado, não compilou automático, porque o principal não teve alteração
Então, acionei manual.
Mostra que está em execução.
Posso acompanhar, ou olhar depois.
Nota:
o github não detectou que deu erro desta vez.
talvez porque é subprojeto.
Podemos usar essas máquinas à vontade ?
Faço isso há anos.
Não uso os ZIPs pra nada, mas continuam sendo gerados e salvos até hoje.
O github NÃO APAGA NUNCA as execuções, mas apaga os anexos após 90 dias.
E se deixar sem atualizar por 90 dias, ele suspende as execuções automáticas, coloquei pra rodar automático todo mês, só esta mensal é suspensa.
Voltou a atualizar, o automático mensal também volta.
O mensal é só pra ficar renovando a validade dos zips, e não quero transferir o mingw de novo, ou deixar num projeto.
Isso é um truque que descobri, que deixa salvar arquivos no projeto, mas sem fazer parte do projeto.
O projeto fica só com os fontes, mas tem o mingw lá, meio escondidinho kkk
Dá pra salvar BCC e outras coisas desse jeito também, ou direto num projeto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
marco.prodata
- Usuário Nível 3

- Mensagens: 238
- Registrado em: 30 Nov 2018 10:07
- Localização: Caratinga
SqlRdd
Tudo começa por essa pastinha aqui:
https://github.com/xHarbour-org/xharbou ... %20Machine
é importante instalar o aceapi.exe e o Win32OpenSSL-1_0_2j.exe, que estão nessa pasta
O aceapi, deve ser insaldo, em maquinas x64, no Arquivos De Programa(x86), e o WinOpenSSL deve ser instaldo no C:\
O GnuWin32.zip, deve ser extraido no C:\
o PellesC tambem deve ser instalado
Após instalar isso, vá até essa pasta aqui:
https://github.com/xHarbour-org/xharbou ... uilder/bat
e execute o setxhb.bat, note que dentro desse bath, tem pastas que são setadas no path, como "\xHarbour", "OpenSSL" e etc...então, certifique-se que os diretorios estão corretos
Após setar as pastas, vamos compilar o negocio todo
Um ponto importante para se atentar, é que dentro do setxhb é setado um parametro de linkedição do VC, que é:
é interessante comentar essa linha tambem
Após isso, volte para a raiz do \xharbour e digite:
Após compilar tudo, copie o diretorio "xHarbourBuilder" para o C:\ e renomeie o diretorio para "xharbour.com" e então va novamente para os seguinte diretorio:
https://github.com/xHarbour-org/xharbou ... uilder/bat
e digite:
Enfim, é parece simples, mas, tem um monte de lugar que utiliza um path diferente, e etc... tem q ir tentando e corrigindo até compilar tudo...
Olhando para esse fluxo, colocar para compilar no CI/CD do git, vai ser um tantinho trabalhoso, mas, nao impossivel
https://github.com/xHarbour-org/xharbou ... %20Machine
é importante instalar o aceapi.exe e o Win32OpenSSL-1_0_2j.exe, que estão nessa pasta
O aceapi, deve ser insaldo, em maquinas x64, no Arquivos De Programa(x86), e o WinOpenSSL deve ser instaldo no C:\
O GnuWin32.zip, deve ser extraido no C:\
o PellesC tambem deve ser instalado
Após instalar isso, vá até essa pasta aqui:
https://github.com/xHarbour-org/xharbou ... uilder/bat
e execute o setxhb.bat, note que dentro desse bath, tem pastas que são setadas no path, como "\xHarbour", "OpenSSL" e etc...então, certifique-se que os diretorios estão corretos
Após setar as pastas, vamos compilar o negocio todo
Um ponto importante para se atentar, é que dentro do setxhb é setado um parametro de linkedição do VC, que é:
Código: Selecionar todos
SET LFLAGS=-DEBUG -DEBUGTYPE:CVApós isso, volte para a raiz do \xharbour e digite:
Código: Selecionar todos
make_vc.bat allhttps://github.com/xHarbour-org/xharbou ... uilder/bat
e digite:
Código: Selecionar todos
xbldfull.bat -allOlhando para esse fluxo, colocar para compilar no CI/CD do git, vai ser um tantinho trabalhoso, mas, nao impossivel
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SqlRdd
Achei interessante ver este arquivo
https://github.com/xHarbour-org/xharbou ... ake_bc.bat
Lembra muito o bat que criei pra OOHG.
https://github.com/JoseQuintas/oohg/blo ... ompile.bat
Parece até que a mesma pessoa fez os dois.
Não me perguntem qual foi criado primeiro, não faço idéia, e nem me importo em saber, apenas achei interessante.
Minha intenção era acabar com os vários bats da oohg, mas só apareceram mais depois, todos chamando esse kkkk
https://github.com/xHarbour-org/xharbou ... ake_bc.bat
Lembra muito o bat que criei pra OOHG.
https://github.com/JoseQuintas/oohg/blo ... ompile.bat
Parece até que a mesma pessoa fez os dois.
Não me perguntem qual foi criado primeiro, não faço idéia, e nem me importo em saber, apenas achei interessante.
Minha intenção era acabar com os vários bats da oohg, mas só apareceram mais depois, todos chamando esse kkkk
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
marco.prodata
- Usuário Nível 3

- Mensagens: 238
- Registrado em: 30 Nov 2018 10:07
- Localização: Caratinga
SqlRdd
Caro Jose, grato pelas dicas, comecei a criar, realmente é um recurso impressionante, vou utilizar nos projetos da empresa, pena que meu tempo tá um pouco escasso, pq estou correndo pra terminar umas pendências pra sair de férias, mas vou tocando aos poucos, depois dá uma olhada pra ver como tá ficando e se estou no caminho certo.JoséQuintas escreveu:basicamente, se tá no github é só criar arquivo YML dentro da pasta .github\workflows
A partir daí aparece em actions.
aqui na minha máquina, conteúdo texto
visível no github na mesma localização, é público
em actions, se não for automático, aciona manual.
Nenhuma configuracão extra, é só criar os arquivos YML e tudo acontece.
Nestes dias postaram no harbour-users, talvez sirva de modelo pra msvc
https://github.com/FiveTechSoft/Harbour ... svc_32.yml
E no meu mais exemplos
https://github.com/JoseQuintas/sefazcla ... /workflows
No meu tem geração de harbour, hmg 3, hmg extended, oohg, hwgui, sefazclass, rmchartclass, compilação dlgauto usando hwgui, hmg3, hmg extended, oohg e gtwvg, compilação de harbour e hwgui em linux, e sei lá mais o que...
https://github.com/marcoprodata/xharbour/actions
Vou corrigir os erros do bcc, adicionar o mingw e o linux, e depois faço um pull request pro pessoal do xharbour, e depois vou tentar adicionar dentro do próprio make_?? pra compilar o conteudo da pasta xHarbourBuilder, ai devo precisar da sua ajuda, rsrsrsrs
De qualquer forma, valeu pelos esclarecimentos.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SqlRdd
Só comentário:
Alterei aquele workflow de compilar geral, removi -workdir=c:\temp
Na minha máquina funciona, porque uso meu build.exe antes de compilar. No github estava dando problema.
Coisa simples: meu build apaga lixo de um projeto antes de fazer o novo
O default do hbmk2 é criar pastas separadas, com lixo separado, então o default funciona no github.
Apenas não gosto das pastas .hbmk contendo temporários
Alterei aquele workflow de compilar geral, removi -workdir=c:\temp
Na minha máquina funciona, porque uso meu build.exe antes de compilar. No github estava dando problema.
Coisa simples: meu build apaga lixo de um projeto antes de fazer o novo
O default do hbmk2 é criar pastas separadas, com lixo separado, então o default funciona no github.
Apenas não gosto das pastas .hbmk contendo temporários
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/

