build fix #64
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Perl application | |
on: | |
push: | |
tags: | |
- "v*.*.*" | |
jobs: | |
centos7: | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout dxtoolkit code | |
uses: actions/checkout@master | |
- name: make dir | |
run: | | |
mkdir dxtoolkit2 | |
chmod 777 dxtoolkit2 | |
- name: Set up a Perl container | |
#uses: pioro/dxtoolkit@develop | |
uses: docker://pioro/dxperlcent7:5.26 | |
with: | |
ENCKEY: ${{ secrets.ENCKEY }} | |
- name: Get the version | |
id: get_version | |
run: | | |
SOURCE_TAG=${GITHUB_REF#refs/tags/} | |
FILENAME="dxtoolkit2-${SOURCE_TAG}-redhat7-installer.tar.gz" | |
echo SOURCE_TAG=$SOURCE_TAG >> $GITHUB_ENV | |
echo FILENAME=$FILENAME >> $GITHUB_ENV | |
- name: add examples | |
run: | | |
gzip -d dxtoolkit.tar.gz | |
cp bin/dxtools.conf.example dxtoolkit2/dxtools.conf.example | |
cp bin/dxusers.csv.example dxtoolkit2/dxusers.csv.example | |
tar -rvf dxtoolkit.tar dxtoolkit2/dxtools.conf.example dxtoolkit2/dxusers.csv.example | |
gzip dxtoolkit.tar | |
- name: compress toolkit | |
run: | | |
mv dxtoolkit.tar.gz ${{ env.FILENAME }} | |
- name: Upload centos 7 | |
uses: actions/upload-artifact@v1 | |
with: | |
name: cento7build | |
path: ${{ env.FILENAME }} | |
docker: | |
needs: [centos7] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Docker meta | |
id: meta | |
uses: docker/metadata-action@v3 | |
with: | |
images: pioro/dxtoolkit | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v1 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v2 | |
with: | |
context: docker/ | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
ubuntu: | |
needs: [centos7] | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout dxtoolkit code | |
uses: actions/checkout@master | |
- name: make dir | |
run: | | |
mkdir dxtoolkit2 | |
chmod 777 dxtoolkit2 | |
- name: Set up a Perl container | |
#uses: pioro/dxtoolkit@develop | |
uses: docker://pioro/dxperlubuntu18:5.26 | |
with: | |
ENCKEY: ${{ secrets.ENCKEY }} | |
- name: Get the version | |
id: get_version | |
run: | | |
SOURCE_TAG=${GITHUB_REF#refs/tags/} | |
FILENAME="dxtoolkit2-${SOURCE_TAG}-ubuntu1804-installer.tar.gz" | |
echo SOURCE_TAG=$SOURCE_TAG >> $GITHUB_ENV | |
echo FILENAME=$FILENAME >> $GITHUB_ENV | |
- name: add examples | |
run: | | |
gzip -d dxtoolkit.tar.gz | |
cp bin/dxtools.conf.example dxtoolkit2/dxtools.conf.example | |
cp bin/dxusers.csv.example dxtoolkit2/dxusers.csv.example | |
tar -rvf dxtoolkit.tar dxtoolkit2/dxtools.conf.example dxtoolkit2/dxusers.csv.example | |
gzip dxtoolkit.tar | |
- name: compress toolkit | |
run: | | |
mv dxtoolkit.tar.gz ${{ env.FILENAME }} | |
- name: Upload ubuntu | |
uses: actions/upload-artifact@v1 | |
with: | |
name: ubuntubuild | |
path: ${{ env.FILENAME }} | |
centos6: | |
needs: [centos7] | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout dxtoolkit code | |
uses: actions/checkout@master | |
- name: make dir | |
run: | | |
mkdir dxtoolkit2 | |
chmod 777 dxtoolkit2 | |
- name: Set up a Perl container | |
#uses: pioro/dxtoolkit@develop | |
uses: docker://pioro/dxperlcent6:5.26 | |
with: | |
ENCKEY: ${{ secrets.ENCKEY }} | |
- name: Get the version | |
id: get_version | |
run: | | |
SOURCE_TAG=${GITHUB_REF#refs/tags/} | |
FILENAME="dxtoolkit2-${SOURCE_TAG}-redhat6-installer.tar.gz" | |
echo SOURCE_TAG=$SOURCE_TAG >> $GITHUB_ENV | |
echo FILENAME=$FILENAME >> $GITHUB_ENV | |
- name: add examples | |
run: | | |
gzip -d dxtoolkit.tar.gz | |
cp bin/dxtools.conf.example dxtoolkit2/dxtools.conf.example | |
cp bin/dxusers.csv.example dxtoolkit2/dxusers.csv.example | |
tar -rvf dxtoolkit.tar dxtoolkit2/dxtools.conf.example dxtoolkit2/dxusers.csv.example | |
gzip dxtoolkit.tar | |
- name: compress toolkit | |
run: | | |
mv dxtoolkit.tar.gz ${{ env.FILENAME }} | |
- name: Upload centos 6 | |
uses: actions/upload-artifact@v1 | |
with: | |
name: cento6build | |
path: ${{ env.FILENAME }} | |
oel8: | |
needs: [centos7] | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout dxtoolkit code | |
uses: actions/checkout@master | |
- name: make dir | |
run: | | |
mkdir dxtoolkit2 | |
chmod 777 dxtoolkit2 | |
- name: Set up a Perl container | |
#uses: pioro/dxtoolkit@develop | |
uses: docker://pioro/dxperloel8:5.26 | |
with: | |
ENCKEY: ${{ secrets.ENCKEY }} | |
- name: Get the version | |
id: get_version | |
run: | | |
if (echo ${GITHUB_REF} | grep "/tags/" > /dev/null); then | |
SOURCE_TAG=${GITHUB_REF#refs/tags/} | |
elif (echo ${GITHUB_REF} | grep "/heads/" > /dev/null); then | |
SOURCE_TAG=${GITHUB_REF#refs/heads/} | |
else | |
exit 1 | |
fi | |
FILENAME="dxtoolkit2-${SOURCE_TAG}-redhat8-installer.tar.gz" | |
echo SOURCE_TAG=$SOURCE_TAG >> $GITHUB_ENV | |
echo FILENAME=$FILENAME >> $GITHUB_ENV | |
- name: add examples | |
run: | | |
gzip -d dxtoolkit.tar.gz | |
cp bin/dxtools.conf.example dxtoolkit2/dxtools.conf.example | |
cp bin/dxusers.csv.example dxtoolkit2/dxusers.csv.example | |
tar -rvf dxtoolkit.tar dxtoolkit2/dxtools.conf.example dxtoolkit2/dxusers.csv.example | |
gzip dxtoolkit.tar | |
- name: compress toolkit | |
run: | | |
mv dxtoolkit.tar.gz ${{ env.FILENAME }} | |
- name: Upload oel 8 | |
uses: actions/upload-artifact@v1 | |
with: | |
name: oel8build | |
path: ${{ env.FILENAME }} | |
Windows: | |
needs: [centos7] | |
runs-on: windows-latest | |
steps: | |
- name: checkout dxtoolkit code | |
uses: actions/checkout@master | |
- name: Get the version | |
id: get_version | |
run: | | |
$SOURCE_TAG = ${env:GITHUB_REF} -replace 'refs\/tags\/', '' | |
$FILENAME="dxtoolkit2-" + $SOURCE_TAG + "-win64-installer.zip" | |
echo "SOURCE_TAG=$SOURCE_TAG" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append | |
echo "FILENAME=$FILENAME" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append | |
shell: powershell | |
- name: Fix encryption key | |
run: | | |
cd D:\a\dxtoolkit\dxtoolkit\lib | |
ls -l dbutils.pm | |
mv dbutils.pm dbutils.orig.pm | |
$raw = (Get-Content -path .\dbutils.orig.pm -Raw) -replace 'put your encryption key here','${{ secrets.ENCKEY_WINDOWS }}' | |
Set-Content -Path .\dbutils.pm -Value $raw | |
cd D:\a\dxtoolkit\dxtoolkit\ | |
shell: powershell | |
- name: download perl | |
run: | | |
mkdir d:\a\perldownload | |
mkdir d:\a\perl | |
choco install wget -y | |
cd d:\a\perldownload | |
wget.exe "http://strawberryperl.com/download/5.26.3.1/strawberry-perl-5.26.3.1-64bit-portable.zip" | |
dir d:\a\perldownload\ | |
Expand-Archive "d:\a\perldownload\strawberry-perl-5.26.3.1-64bit-portable.zip" -DestinationPath "d:\a\perl" | |
shell: powershell | |
- name: build | |
run: build\windows_compile.cmd | |
shell: cmd | |
- name: add examples | |
run: | | |
copy D:\a\dxtoolkit\dxtoolkit\bin\dxtools.conf.example d:\a\dxtoolkit\dxtoolkit\dxtoolkit2 | |
copy D:\a\dxtoolkit\dxtoolkit\bin\dxusers.csv.example d:\a\dxtoolkit\dxtoolkit\dxtoolkit2 | |
- name: compress toolkit | |
run: | | |
$NAME = "d:\a\dxtoolkit\dxtoolkit\${{ env.FILENAME }}" | |
echo ${NAME} | |
Compress-Archive -Path d:\a\dxtoolkit\dxtoolkit\dxtoolkit2 -DestinationPath ${NAME} | |
shell: powershell | |
- name: Upload windows | |
uses: actions/upload-artifact@v1 | |
with: | |
name: windowsbuild | |
path: ${{ env.FILENAME }} | |
osx: | |
needs: [centos7] | |
runs-on: macos-11 | |
steps: | |
- name: checkout dxtoolkit code | |
uses: actions/checkout@master | |
- name: Get the version | |
id: get_version | |
run: | | |
if (echo ${GITHUB_REF} | grep "/tags/" > /dev/null); then | |
SOURCE_TAG=${GITHUB_REF#refs/tags/} | |
elif (echo ${GITHUB_REF} | grep "/heads/" > /dev/null); then | |
SOURCE_TAG=${GITHUB_REF#refs/heads/} | |
else | |
exit 1 | |
fi | |
FILENAME="dxtoolkit2-${SOURCE_TAG}-osx.tar.gz" | |
echo SOURCE_TAG=$SOURCE_TAG >> $GITHUB_ENV | |
echo FILENAME=$FILENAME >> $GITHUB_ENV | |
- name: install perl | |
run: | | |
# have a static version of perl 5.30.2_1 | |
#brew uninstall --ignore-dependencies perl | |
#brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8ff2935985d6da4f2f463ea2666545e6017c4d54/Formula/perl.rb | |
#brew install pioro/repo/[email protected] | |
#brew install cpanminus | |
CELL=`brew --prefix perl` | |
$CELL/bin/perl -MCPAN -e 'install App::cpanminus' | |
#brew install [email protected] | |
$CELL/bin/cpanm Crypt::[email protected] | |
$CELL/bin/cpanm Crypt::Blowfish | |
# export OPENSSL_PREFIX=`brew --prefix [email protected]` | |
# echo $OPENSSL_PREFIX | |
# export LIBS="-d=$OPENSSL_PREFIX" | |
# $CELL/bin/cpanm --configure-args=$LIBS Filter::Crypto::Decrypt | |
$CELL/bin/cpanm Filter::Crypto::Decrypt | |
$CELL/bin/cpanm JSON | |
$CELL/bin/cpanm Date::Manip | |
# force requires after 1/1/2020 ? | |
$CELL/bin/cpanm -f Date::Parse | |
$CELL/bin/cpanm DateTime::Event::Cron::Quartz | |
$CELL/bin/cpanm DateTime::Format::DateParse | |
$CELL/bin/cpanm Text::CSV | |
$CELL/bin/cpanm LWP::UserAgent | |
$CELL/bin/cpanm --force Net::SSLeay | |
$CELL/bin/cpanm Mozilla::CA@20180117 | |
$CELL/bin/cpanm -f IO::Socket::[email protected] | |
$CELL/bin/cpanm LWP::Protocol::https | |
$CELL/bin/cpanm Term::ReadKey | |
$CELL/bin/cpanm -f Archive::Zip | |
$CELL/bin/cpanm utf8 | |
$CELL/bin/cpanm PAR::Packer | |
$CELL/bin/cpanm List::MoreUtils::PP | |
- name: Compile | |
run: | | |
#CELL=`brew --prefix pioro/repo/[email protected]` | |
CELL=`brew --prefix perl` | |
OPENLIB=`brew --prefix openssl@3` | |
CDIR=`pwd` | |
export PP=${CELL}/bin/pp | |
export LIBS="-l ${OPENLIB}/lib/libssl.dylib -l ${OPENLIB}/lib/libcrypto.dylib" | |
echo $LIBS | |
mkdir dxtoolkit2 | |
cd ./lib | |
mv dbutils.pm dbutils.orig.pm | |
cat dbutils.orig.pm | sed -e "s/put your encryption key here/${{ secrets.ENCKEY }}/" > dbutils.pm | |
cd ../bin | |
$PP -u -I ../lib ${LIBS} -M Text::CSV_PP -M List::MoreUtils::PP -M Crypt::Blowfish \ | |
-F Crypto=dbutils\.pm$ -M Filter::Crypto::Decrypt -o ../dxtoolkit2/runner `ls dx_*.pl | xargs` | |
cd ${CDIR}/dxtoolkit2 | |
#for i in ${CDIR}/bin/dx_*.pl ; do name=`basename -s .pl $i`; ln -s runner $name; done | |
echo #!/bin/bash > install.sh | |
echo LIST_OF_SCRIPTS=\( >> install.sh | |
for i in ${CDIR}/bin/dx_*.pl ; do | |
name=`basename -s .pl $i`; | |
echo $name >> install.sh | |
done | |
echo \) >> install.sh | |
echo >> install.sh | |
echo >> install.sh | |
echo for i in \"\$\{LIST_OF_SCRIPTS\[\@\]\}\" >> install.sh | |
echo do >> install.sh | |
echo echo \$i >> install.sh | |
echo ln -sf runner \$i >> install.sh | |
echo done >> install.sh | |
cp ${CDIR}/bin/dxtools.conf.example ${CDIR}/bin/dxusers.csv.example ${CDIR}/dxtoolkit2 | |
cd ${CDIR} | |
ls -l ./dxtoolkit2 | |
tar czvf ${{ env.FILENAME }} dxtoolkit2/ | |
- name: Upload OSX | |
uses: actions/upload-artifact@v1 | |
with: | |
name: osxbuild | |
path: ${{ env.FILENAME }} | |
amazon2023: | |
needs: [centos7] | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout dxtoolkit code | |
uses: actions/checkout@master | |
- name: add version | |
run: | | |
mkdir dxtoolkit2 | |
chmod 777 dxtoolkit2 | |
cd ./lib | |
mv Toolkit_helpers.pm Toolkit_helpers.orig.pm | |
cat Toolkit_helpers.orig.pm | sed -r -e "s/([[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+\.?[[:digit:]]?)/\1-dev-${GITHUB_SHA}/" > Toolkit_helpers.pm | |
grep "version" Toolkit_helpers.pm | |
- name: Set up a Perl container | |
#uses: pioro/dxtoolkit@develop | |
uses: docker://pioro/pioroamazon:2023 | |
with: | |
ENCKEY: ${{ secrets.ENCKEY }} | |
- name: Get the version | |
id: get_version | |
run: | | |
if (echo ${GITHUB_REF} | grep "/tags/" > /dev/null); then | |
SOURCE_TAG=${GITHUB_REF#refs/tags/} | |
elif (echo ${GITHUB_REF} | grep "/heads/" > /dev/null); then | |
SOURCE_TAG=${GITHUB_REF#refs/heads/} | |
else | |
exit 1 | |
fi | |
FILENAME="dxtoolkit2-${SOURCE_TAG}-amazon2023-installer.tar.gz" | |
echo SOURCE_TAG=$SOURCE_TAG >> $GITHUB_ENV | |
echo FILENAME=$FILENAME >> $GITHUB_ENV | |
- name: add examples | |
run: | | |
ls -l | |
gzip -d dxtoolkit.tar.gz | |
cp bin/dxtools.conf.example dxtoolkit2/dxtools.conf.example | |
cp bin/dxusers.csv.example dxtoolkit2/dxusers.csv.example | |
tar -rvf dxtoolkit.tar dxtoolkit2/dxtools.conf.example dxtoolkit2/dxusers.csv.example | |
gzip dxtoolkit.tar | |
- name: compress toolkit | |
run: | | |
mv dxtoolkit.tar.gz ${{ env.FILENAME }} | |
- name: Upload amazon 2023 | |
uses: actions/upload-artifact@v1 | |
with: | |
name: amazon2023 | |
path: ${{ env.FILENAME }} | |
release: | |
runs-on: ubuntu-latest | |
needs: [centos6, centos7, windows, ubuntu, osx, amazon2023, oel8, docker] | |
permissions: | |
contents: write | |
steps: | |
- name: Download centos7 | |
uses: actions/download-artifact@v1 | |
with: | |
name: cento7build | |
- name: Download centos6 | |
uses: actions/download-artifact@v1 | |
with: | |
name: cento6build | |
- name: Download windows | |
uses: actions/download-artifact@v1 | |
with: | |
name: windowsbuild | |
- name: Download ubuntu | |
uses: actions/download-artifact@v1 | |
with: | |
name: ubuntubuild | |
- name: Download osx | |
uses: actions/download-artifact@v1 | |
with: | |
name: osxbuild | |
- name: Download OEL8 | |
uses: actions/download-artifact@v1 | |
with: | |
name: oel8build | |
- name: Download Amazon 2023 | |
uses: actions/download-artifact@v1 | |
with: | |
name: amazon2023 | |
- name: Say | |
run: | | |
echo "HELLO" | |
ls -l | |
ls -lR | |
- name: Get the version | |
id: get_version | |
run: | | |
SOURCE_TAG=${GITHUB_REF#refs/tags/} | |
FILENAMERH7="dxtoolkit2-${SOURCE_TAG}-redhat7-installer.tar.gz" | |
FILENAMERH8="dxtoolkit2-${SOURCE_TAG}-redhat8-installer.tar.gz" | |
FILENAMERH6="dxtoolkit2-${SOURCE_TAG}-redhat6-installer.tar.gz" | |
FILENAMEUBUNTU="dxtoolkit2-${SOURCE_TAG}-ubuntu1804-installer.tar.gz" | |
FILENAMEWIN="dxtoolkit2-${SOURCE_TAG}-win64-installer.zip" | |
FILENAMEOSX="dxtoolkit2-${SOURCE_TAG}-osx.tar.gz" | |
FILENAMEAMZ="dxtoolkit2-${SOURCE_TAG}-amazon2023-installer.tar.gz" | |
echo SOURCE_TAG=$SOURCE_TAG >> $GITHUB_ENV | |
echo FILENAMERH7=$FILENAMERH7 >> $GITHUB_ENV | |
echo FILENAMERH6=$FILENAMERH6 >> $GITHUB_ENV | |
echo FILENAMERH8=$FILENAMERH8 >> $GITHUB_ENV | |
echo FILENAMEUBUNTU=$FILENAMEUBUNTU >> $GITHUB_ENV | |
echo FILENAMEWIN=$FILENAMEWIN >> $GITHUB_ENV | |
echo FILENAMEOSX=$FILENAMEOSX >> $GITHUB_ENV | |
echo FILENAMEAMZ=$FILENAMEAMZ >> $GITHUB_ENV | |
- name: Create Release | |
id: create_release | |
uses: ncipollo/release-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
name: Release ${{ env.SOURCE_TAG }} | |
draft: true | |
prerelease: true | |
artifacts: "cento7build/${{ env.FILENAMERH7 }},cento6build/${{ env.FILENAMERH6 }},oel8build/${{ env.FILENAMERH8 }},ubuntubuild/${{ env.FILENAMEUBUNTU }},windowsbuild/${{ env.FILENAMEWIN }},osxbuild/${{ env.FILENAMEOSX }},amazon2023/${{ env.FILENAMEAMZ }}" | |
tag: ${{ env.SOURCE_TAG }} |