Skip to content

version 2.4.21

version 2.4.21 #59

Workflow file for this run

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 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 [email protected]`
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 }}
release:
runs-on: ubuntu-latest
needs: [centos6, centos7, windows, ubuntu, osx]
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: 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"
FILENAMERH6="dxtoolkit2-${SOURCE_TAG}-redhat6-installer.tar.gz"
FILENAMERH8="dxtoolkit2-${SOURCE_TAG}-redhat8-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"
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
- 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 }}"
tag: ${{ env.SOURCE_TAG }}