name: release-use-uninative-core-image-minimal-populate-sstate-mirror #on: [push] on: workflow_call: jobs: release-use-uninative-core-image-minimal-populate-sstate-mirror: runs-on: yocto-build-latest timeout-minutes: 1000 # Specify location to build, this path persists across builds allowing # us to build incrementally env: WORK_DIR: ${{github.workspace}}/workdir GITEA_GIT_MIRROR: 10.0.0.182:8939 GITEA_SERVER: 10.0.0.182:8940 WORKFLOW_DIR: yocto-build-docker-action WORKFLOW_REPO: rber/${{env.WORKFLOW_DIR}} MANIFEST_REPO: rber/manifests -b master-action YP_CONFIG: multi-v7-ml-debug-training YP_VERSION: langdale ARTIFACTS_ON_SERVER: /appdata/artifacts/workspace/rber/yocto-build-docker-action/workdir/artifacts NO_SSTATE_MIRRORS: yes POPULATE_SSTATE_MIRROR: yes # used for local source mirror: USE_VAR_WWW: no PREP_SOURCE_MIRROR: no # --> only one yes, the other no NO_SOURCE_MIRROR: no USE_SOURCE_MIRROR: yes USE_SOURCE_MIRROR_LOCAL: no # <-- only one yes, the other no USE_BB_NO_NETWORK: no USE_BB_ALLOWED_NETWORKS: no THE_ALLOWED_NETWORKS: 10.0.0.182 # --> only one yes, the other no NO_PREMIRRORS: no USE_PREMIRRORS: yes # <-- only one yes, the other no # --> only one yes, the other no BUILD_UNINATIVE_TARBALL: no USE_UNINATIVE_TARBALL: yes DONT_USE_UNINATIVE_TARBALL: no POPULATE_UNINATIVE_TARBALL: no UNINATIVE_TARBALL_VERSION: 3.7 #BITBAKE_ZERO: uninative-tarball #BITBAKE_ZERO: 'uninative-tarball --runall=fetch' BITBAKE_ZERO: empty BITBAKE_ZERO_ALLOW_ERROR: no # <-- only one yes, the other no THE_UNINATIVE_URL: http://${{env.WEB_SERVER}}/releases/uninative/${{env.UNINATIVE_TARBALL_VERSION}}/ THE_SOURCE_MIRROR_URL: http://${{env.WEB_SERVER}}/source_mirror_${{env.YP_VERSION}} USE_PR_SERVER: yes PR_SERVER: 10.0.0.182:18585 USE_HASH_SERVER: yes HASH_SERVER: 10.0.0.182:8687 # lighttpd: WEB_SERVER: 10.0.0.182:8941 # nginx: #WEB_SERVER: 10.0.0.182:8053 BITBAKE_ONE: core-image-minimal #BITBAKE_ONE: 'core-image-minimal --runall=fetch' #BITBAKE_ONE: empty BITBAKE_ONE_ALLOW_ERROR: no BITBAKE_TWO: empty NOTE: use-uninative-core-image-minimal-populate-sstate-mirror #name: Yocto build - core-image-minimal-local-source-mirror steps: - name: Get build system info id: build_system run: | echo "Host: ${HOSTNAME}" echo "CPUs/Threads: $(grep -c ^processor /proc/cpuinfo)" echo "CPUs: $(grep ^cpu\\scores /proc/cpuinfo | uniq | awk '{print $4}')" echo "$(free -mh)" - name: Get current date/time id: date run: | echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')" - name: Get gitea git mirror id: gitea_git_mirror run: | echo "::set-output name=gitea_git_mirror::${{env.GITEA_GIT_MIRROR}}" - name: Get gitea server id: gitea_server run: | echo "::set-output name=gitea_server::${{env.GITEA_SERVER}}" - name: Get workflow repo id: workflow_repo run: | echo "::set-output name=workflow_repo::${{env.WORKFLOW_REPO}}" - name: Get manifest repo id: manifest_repo run: | echo "::set-output name=manifest_repo::${{env.MANIFEST_REPO}}" - name: Get Yocto Project config id: yp_config run: | echo "::set-output name=yp_config::${{env.YP_CONFIG}}" - name: get Yocto Project version id: yp_version run: | echo "::set-output name=yp_version::${{env.YP_VERSION}}" - name: get PR server id: pr_server run: | echo "::set-output name=pr_server::${{env.PR_SERVER}}" - name: get hash server id: hash_server run: | echo "::set-output name=hash_server::${{env.HASH_SERVER}}" - name: get web server id: web_server run: | echo "::set-output name=web_server::${{env.WEB_SERVER}}" - name: get THE_UNINATIVE_URL id: uninative_url run: | echo "::set-output name=uninative_url::${{env.THE_UNINATIVE_URL}}" - name: get Note id: note run: | echo "::set-output name=note::${{env.NOTE}}" - name: Get bitbake_zero id: bitbake_zero run: | echo "::set-output name=bitbake_zero::${{env.BITBAKE_ZERO}}" - name: Get bitbake_one id: bitbake_one run: | echo "::set-output name=bitbake_one::${{env.BITBAKE_ONE}}" - name: Get bitbake_two id: bitbake_two run: | echo "::set-output name=bitbake_two::${{env.BITBAKE_TWO}}" - name: Checkout workflow repo run: | mkdir -p ${{env.WORK_DIR}}/sources pushd ${{env.WORK_DIR}}/sources git clone http://${{ steps.gitea_server.outputs.gitea_server }}/${{ steps.workflow_repo.outputs.workflow_repo }} ls popd - name: Checkout manifest repo run: | mkdir -p ${{env.WORK_DIR}}/sources pushd ${{env.WORK_DIR}}/sources git clone http://${{ steps.gitea_server.outputs.gitea_server }}/${{ steps.manifest_repo.outputs.manifest_repo }} ls popd - name: Create symlinks run: | cd ${{env.WORK_DIR}} ln -sf sources/manifests/resy-cooker.sh resy-cooker.sh ln -sf sources/manifests/killall_bitbake.sh killall_bitbake.sh ln -sf sources/manifests/resy-${{ steps.yp_config.outputs.yp_config }}.sh resy-${{ steps.yp_config.outputs.yp_config }}.sh pwd ls - name: Checkout repos for ${{ env.YP_CONFIG }} run: | pushd ${{env.WORK_DIR}} ls ./resy-${{ steps.yp_config.outputs.yp_config }}.sh #tree -L 1 sources popd env: # export WORKDIR to resy-cooker.sh script: WORKDIR: ${{ env.WORK_DIR }} WORKSPACE: "jenkins" - name: Fix broken links run: | pushd ${{env.WORK_DIR}} echo "--> broken links" find . -xtype l -ls echo "<-- broken links" echo "--> fix links" find . -xtype l -exec bash -c 'target="$(readlink "{}")"; link="{}"; target="$(echo "$target" | sed "s,/workdir,${{ env.WORK_DIR }},g")"; ln -Tfs "$target" "$link"' \; echo "<-- fix links" echo "--> broken links" find . -xtype l -ls echo "<-- broken links" popd env: # export WORKDIR to resy-cooker.sh script: WORKDIR: ${{ env.WORK_DIR }} WORKSPACE: "jenkins" - name: Fix site.conf file run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common sed -i "s,/workdir,${{ env.WORK_DIR }}," site.conf sed -i "s,/mirror/,/${{ steps.web_server.outputs.web_server }}/," site.conf sed -i "s,/mirror.res.training,/${{ steps.web_server.outputs.web_server }}/," site.conf cat site.conf popd - name: Fix site.conf file - hash server if: ${{ env.USE_HASH_SERVER == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common sed -i "s,mirror:8687,${{ steps.hash_server.outputs.hash_server }}," site.conf cat site.conf popd - name: Fix site.conf file - no SSTATE/MIRRORS,... if: ${{ env.NO_SSTATE_MIRRORS == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common sed -i 's/^SSTATE_MIRRORS/#&/' site.conf sed -i 's/^BB_HASHSERVE_UPSTREAM/#&/' site.conf cat site.conf popd - name: Fix site.conf file - prep. build uninative-tarball if: ${{ env.BUILD_UNINATIVE_TARBALL == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common # I guess we need my uninative tarball URL to build the uninative tarball sed -i 's/^UNINATIVE_URL/#&/' site.conf echo "UNINATIVE_TARBALL=\"\"" >> site.conf # echo "UNINATIVE_CHECKSUM[x86_64]=\"deadbeef\"" >> site.conf # SRC_URI[sha256sum] = "8a6e588cc3435b9d9c87845b931ed17df7956eed29fd171aec05fbc557da6e7a" echo "UNINATIVE_CHECKSUM[x86_64]=\"954182f691bb2dbae157ee991654ad2fd4cb51c7f3d3ab429e9f84654c8dc990\"" >> site.conf cat site.conf popd - name: Fix site.conf file - use uninative-tarball if: ${{ env.USE_UNINATIVE_TARBALL == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common echo "${{ steps.uninative_url.outputs.uninative_url }}/sha256sum.txt" time wget -t 2 -T 30 --passive-ftp "${{ steps.uninative_url.outputs.uninative_url }}/sha256sum.txt" cat sha256sum.txt UNINATIVE_SHA256SUM=$(cat sha256sum.txt) echo "uninative_sha256sum: ${UNINATIVE_SHA256SUM}" echo "UNINATIVE_CHECKSUM[x86_64]=\"${UNINATIVE_SHA256SUM}\"" >> site.conf cat site.conf popd - name: Fix site.conf file - don't use uninative-tarball if: ${{ env.DONT_USE_UNINATIVE_TARBALL == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common sed -i 's/^UNINATIVE_URL/#&/' site.conf cat site.conf popd - name: Fix site.conf file - PR server if: ${{ env.USE_PR_SERVER == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common sed -i "s,localhost:0,${{ steps.pr_server.outputs.pr_server }}," site.conf cat site.conf popd - name: Fix site.conf file - no PREMIRRORS if: ${{ env.NO_PREMIRRORS == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common sed -i "/PREMIRRORS +=/,+5 s/^/#/" site.conf cat site.conf popd - name: Fix site.conf file - use PREMIRRORS if: ${{ env.USE_PREMIRRORS == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common # we comment out the previous PREMIRRORS sed -i "/PREMIRRORS +=/,+5 s/^/#/" site.conf # we add our new PREMIRRORS # PREMIRRORS += " \ # git://git.denx.de/u-boot.git git://omv-1:8939/robert.berger/u-boot.git;protocol=http \n \ # git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git git://omv-1:8939/robert.berger/linux-stable.git;protocol=http \n \ # git://git.yoctoproject.org/linux-yocto.git git://omv-1.res.training:8939/robert.berger/linux-yocto.git;protocol=http \n \ # git://git.yoctoproject.org/yocto-kernel-cache git://omv-1:8939/robert.berger/yocto-kernel-cache.git;protocol=http \n \ # git://github.com/raspberrypi/linux.git git://omv-1:8939/robert.berger/raspberrypi-linux.git;protocol=http \n \ #" echo "PREMIRRORS += \" \\" >> site.conf echo "git://git.denx.de/u-boot.git git://${{ steps.gitea_git_mirror.outputs.gitea_git_mirror }}/robert.berger/u-boot.git;protocol=http \\n \\" >> site.conf echo "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git git://${{ steps.gitea_git_mirror.outputs.gitea_git_mirror }}/robert.berger/linux-stable.git;protocol=http \\n \\" >> site.conf echo "git://git.yoctoproject.org/linux-yocto.git git://${{ steps.gitea_git_mirror.outputs.gitea_git_mirror }}/robert.berger/linux-yocto.git;protocol=http \\n \\" >> site.conf echo "git://git.yoctoproject.org/yocto-kernel-cache git://${{ steps.gitea_git_mirror.outputs.gitea_git_mirror }}/robert.berger/yocto-kernel-cache.git;protocol=http \\n \\" >> site.conf echo "git://github.com/raspberrypi/linux.git git://${{ steps.gitea_git_mirror.outputs.gitea_git_mirror }}/robert.berger/raspberrypi-linux.git;protocol=http \\n \\" >> site.conf echo "\"" >> site.conf cat site.conf popd - name: Fix site.conf file - no SOURCE_MIRROR if: ${{ env.NO_SOURCE_MIRROR == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common #sed -i 's/^BB_GENERATE_MIRROR_TARBALLS/#&/' site.conf sed -i 's/^SOURCE_MIRROR_URL/#&/' site.conf sed -i "s,own-mirrors,," site.conf cat site.conf popd - name: Fix site.conf file - use SOURCE_MIRROR if: ${{ env.USE_SOURCE_MIRROR == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common #sed -i 's/^BB_GENERATE_MIRROR_TARBALLS/#&/' site.conf #sed -i 's/^SOURCE_MIRROR_URL/#&/' site.conf #sed -i "s,own-mirrors,," site.conf echo "INHERIT += \"own-mirrors\"" >> site.conf # SOURCE_MIRROR_URL = "http://example.com/my-source-mirror" echo "SOURCE_MIRROR_URL = \"http://${{env.THE_SOURCE_MIRROR_URL}}\"" >> site.conf echo "SRCREV:pn-ascii-invaders = \"2644be38afc06f7f7bba55034966dd66d9ad524f\"" >> site.conf cat site.conf popd - name: Fix site.conf file - use SOURCE_MIRROR_LOCAL if: ${{ env.USE_SOURCE_MIRROR_LOCAL == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common #sed -i 's/^BB_GENERATE_MIRROR_TARBALLS/#&/' site.conf sed -i 's/^SOURCE_MIRROR_URL/#&/' site.conf #sed -i "s,own-mirrors,," site.conf # SOURCE_MIRROR_URL syntax: # SOURCE_MIRROR_URL ?= "file:///workdir/source_mirror_langdale/" # 3 - Three slashes echo "INHERIT += \"own-mirrors\"" >> site.conf echo "SOURCE_MIRROR_URL = \"file://${{env.WORK_DIR}}/source_mirror/\"" >> site.conf echo "SRCREV:pn-ascii-invaders = \"2644be38afc06f7f7bba55034966dd66d9ad524f\"" >> site.conf cat site.conf popd - name: Fix site.conf file - BB_NO_NETWORK if: ${{ env.USE_BB_NO_NETWORK == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common echo "BB_NO_NETWORK = \"1\"" >> site.conf cat site.conf popd - name: Fix site.conf file - BB_ALLOWED_NETWORKS if: ${{ env.USE_BB_ALLOWED_NETWORKS == 'yes' }} run: | pushd ${{env.WORK_DIR}}/sources/meta-resy/template-common echo "BB_ALLOWED_NETWORKS = \"${{ env.THE_ALLOWED_NETWORKS }}\"" >> site.conf echo "SRCREV:pn-ascii-invaders = \"2644be38afc06f7f7bba55034966dd66d9ad524f\"" >> site.conf cat site.conf popd - name: Fix site.conf file - VAR_WWW - BB_NO_NETWORK needed if: ${{ env.USE_VAR_WWW == 'yes' }} run: | mkdir -p ${{env.WORK_DIR}}/source_mirror pushd ${{env.WORK_DIR}} time wget -t 2 -T 30 --passive-ftp 'http://${{ steps.web_server.outputs.web_server }}/source_mirror_${{ steps.yp_version.outputs.yp_version }}_compressed/DL_DIR.tar.gz' tar xvf DL_DIR.tar.gz -C ${{env.WORK_DIR}}/source_mirror if [ ! -d ${{env.WORK_DIR}}/artifacts ];then mkdir -p ${{env.WORK_DIR}}/artifacts ; fi cp DL_DIR.tar.gz ${{env.WORK_DIR}}/artifacts/${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-source_mirror_${{ steps.yp_version.outputs.yp_version }}_compressed.tar.gz rm -f DL_DIR.tar.gz #echo "BB_ALLOWED_NETWORKS = \"${{ env.THE_ALLOWED_NETWORKS }}\"" >> site.conf #echo "SRCREV:pn-ascii-invaders = \"2644be38afc06f7f7bba55034966dd66d9ad524f\"" >> site.conf #cat site.conf popd # - name: Fix site.conf symlinks # run: | # pushd ${{env.WORK_DIR}} # popd # env: # # export WORKDIR to resy-cooker.sh script: # WORKDIR: ${{ env.WORK_DIR }} # WORKSPACE: "jenkins" - name: Compress Artifacts before build run: | if [ ! -d ${{env.WORK_DIR}}/artifacts ];then mkdir -p ${{env.WORK_DIR}}/artifacts ; fi pushd ${{env.WORK_DIR}}/artifacts if [ -d ${{env.WORK_DIR}}/sources/meta-resy/template-common ];then tar -czvf ${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-meta-resy-template-common.tar.gz -C ${{env.WORK_DIR}}/sources/meta-resy/template-common .; fi if [ -d ${{env.WORK_DIR}}/sources ]; then tar -czvf ${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-sources.tar.gz -C ${{env.WORK_DIR}}/sources .; fi pwd ls -lah ${{env.WORK_DIR}}/artifacts popd####################### --> not supported yet ??? # - name: Upload Artifact # uses: actions/upload-artifact@v3 # with: # name: test # path: ${{env.WORK_DIR}}/artifacts####################### <-- not supported yet ??? - name: Copy artifacts before build uses: https://github.com/appleboy/[email protected] with: host: ${{ secrets.SCP_HOST }} username: ${{ secrets.SCP_USERNAME }} password: ${{ secrets.SCP_PASSWORD }} port: ${{ secrets.SCP_PORT }} source: "${{env.WORK_DIR}}/artifacts/*" target: /appdata/artifacts####################################### # - name: bitbake uninative-tarball # if: ${{ env.BUILD_UNINATIVE_TARBALL == 'yes' }} # run: | # cd ${{env.WORK_DIR}} # time ./resy-cooker.sh ${{ steps.yp_config.outputs.yp_config }} uninative-tarball # env: # # export WORKDIR to resy-cooker.sh script: # WORKDIR: ${{ env.WORK_DIR }} # WORKSPACE: "jenkins"####################################### - name: bitbake ${{ env.BITBAKE_ZERO }} - uninative-tarball? run: | if [ "$BITBAKE_ZERO" == "empty" ]; then echo "BITBAKE_ZERO is $BITBAKE_ZERO" else echo "BITBAKE_ZERO is $BITBAKE_ZERO" cd ${{env.WORK_DIR}} if [ "$BITBAKE_ZERO_ALLOW_ERROR" == "yes" ]; then # allow error: time ./resy-cooker.sh ${{ steps.yp_config.outputs.yp_config }} ${{ steps.bitbake_zero.outputs.bitbake_zero }} || true else # don't allow error: time ./resy-cooker.sh ${{ steps.yp_config.outputs.yp_config }} ${{ steps.bitbake_zero.outputs.bitbake_zero }} fi fi env: # export WORKDIR to resy-cooker.sh script: WORKDIR: ${{ env.WORK_DIR }} WORKSPACE: "jenkins" BITBAKE_ZERO: ${{ env.BITBAKE_ZERO }} BITBAKE_ZERO_ALLOW_ERROR: ${{ env.BITBAKE_ZERO_ALLOW_ERROR }}####################################### - name: bitbake ${{ env.BITBAKE_ONE }} run: | if [ "$BITBAKE_ONE" == "empty" ]; then echo "BITBAKE_ONE is $BITBAKE_ONE" else echo "BITBAKE_ONE is $BITBAKE_ONE" cd ${{env.WORK_DIR}} if [ "$BITBAKE_ONE_ALLOW_ERROR" == "yes" ]; then # allow error: time ./resy-cooker.sh ${{ steps.yp_config.outputs.yp_config }} ${{ steps.bitbake_one.outputs.bitbake_one }} || true else # don't allow error: time ./resy-cooker.sh ${{ steps.yp_config.outputs.yp_config }} ${{ steps.bitbake_one.outputs.bitbake_one }} fi fi env: # export WORKDIR to resy-cooker.sh script: WORKDIR: ${{ env.WORK_DIR }} WORKSPACE: "jenkins" BITBAKE_ONE: ${{ env.BITBAKE_ONE }} BITBAKE_ONE_ALLOW_ERROR: ${{ env.BITBAKE_ONE_ALLOW_ERROR }}####################################### - name: bitbake ${{ env.BITBAKE_TWO }} run: | if [ "$BITBAKE_TWO" == "empty" ]; then echo "BITBAKE_TWO is $BITBAKE_TWO" else echo "BITBAKE_TWO is $BITBAKE_TWO" cd ${{env.WORK_DIR}} time ./resy-cooker.sh ${{ steps.yp_config.outputs.yp_config }} ${{ steps.bitbake_two.outputs.bitbake_two }} fi env: # export WORKDIR to resy-cooker.sh script: WORKDIR: ${{ env.WORK_DIR }} WORKSPACE: "jenkins" BITBAKE_TWO: ${{ env.BITBAKE_TWO }}####################################### # - name: bitbake core-image-sato-sdk # run: | # cd ${{env.WORK_DIR}} # ./resy-cooker.sh ${{ steps.yp_config.outputs.yp_config }} core-image-sato-sdk # env: # # export WORKDIR to resy-cooker.sh script: # WORKDIR: ${{ env.WORK_DIR }} # WORKSPACE: "jenkins" ####################################### # - name: bitbake 'core-image-sato-sdk -c populate_sdk' # run: | # cd ${{env.WORK_DIR}} # ./resy-cooker.sh ${{ steps.yp_config.outputs.yp_config }} 'core-image-sato-sdk -c populate_sdk' # env: # # export WORKDIR to resy-cooker.sh script: # WORKDIR: ${{ env.WORK_DIR }} # WORKSPACE: "jenkins" ####################################### ####################################### - name: Compress Artifacts after build run: | if [ ! -d ${{env.WORK_DIR}}/artifacts ];then mkdir -p ${{env.WORK_DIR}}/artifacts ; fi pushd ${{env.WORK_DIR}}/artifacts set +x if [ -d ${{env.WORK_DIR}}/build/${{ steps.yp_config.outputs.yp_config }}/conf ]; then tar -czvf ${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-conf.tar.gz -C ${{env.WORK_DIR}}/build/${{ steps.yp_config.outputs.yp_config }}/conf .; fi if [ -d ${{env.WORK_DIR}}/build/${{ steps.yp_config.outputs.yp_config }}/tmp/deploy ]; then tar -czvf ${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-deploy.tar.gz -C ${{env.WORK_DIR}}/build/${{ steps.yp_config.outputs.yp_config }}/tmp/deploy .; fi if [ -d ${{env.WORK_DIR}}/build/${{ steps.yp_config.outputs.yp_config }}/buildhistory ]; then tar -czvf ${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-buildhistory.tar.gz -C ${{env.WORK_DIR}}/build/${{ steps.yp_config.outputs.yp_config }}/buildhistory .; fi if [ -d ${{env.WORK_DIR}}/downloads_${{ steps.yp_version.outputs.yp_version }} ]; then tar -czvf ${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-DL_DIR.tar.gz -C ${{env.WORK_DIR}}/downloads_${{ steps.yp_version.outputs.yp_version }} .; fi if [ -d ${{env.WORK_DIR}}/sstate_${{ steps.yp_version.outputs.yp_version }} ]; then tar -czvf ${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-SSTATE_DIR.tar.gz -C ${{env.WORK_DIR}}/sstate_${{ steps.yp_version.outputs.yp_version }} .; fi if [ -d ${{env.WORK_DIR}}/persistent_${{ steps.yp_version.outputs.yp_version }} ]; then tar -czvf ${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-PERSISTENT_DIR.tar.gz -C ${{env.WORK_DIR}}/persistent_${{ steps.yp_version.outputs.yp_version }} .; fi pwd ls -lah ${{env.WORK_DIR}}/artifacts popd####################################### - name: Prepare source-mirror if: ${{ env.PREP_SOURCE_MIRROR == 'yes' }} run: | if [ ! -d ${{env.WORK_DIR}}/artifacts ];then mkdir -p ${{env.WORK_DIR}}/artifacts ; fi # downloads -> source_mirror cp -R ${{env.WORK_DIR}}/downloads_${{ steps.yp_version.outputs.yp_version }} ${{env.WORK_DIR}}/artifacts/source_mirror_${{ steps.yp_version.outputs.yp_version }} # cleanup source_mirror pushd ${{env.WORK_DIR}}/artifacts/source_mirror_${{ steps.yp_version.outputs.yp_version }} ${{env.WORK_DIR}}/sources/${{env.WORKFLOW_DIR}}/cleanup/cleanup.sh popd # make tarball from source_mirror pushd ${{env.WORK_DIR}}/artifacts tar -czvf ${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-source_mirror.tar.gz -C ${{env.WORK_DIR}}/artifacts/source_mirror_${{ steps.yp_version.outputs.yp_version }} . # remove source_mirror dir rm -rf ${{env.WORK_DIR}}/artifacts/source_mirror_${{ steps.yp_version.outputs.yp_version }} popd #pushd ${{env.WORK_DIR}}/sources #ls ${{env.WORK_DIR}}/sources/${{env.WORKFLOW_DIR}}/cleanup #mkdir #popd####################### --> not supported yet ??? # - name: Upload Artifact # uses: actions/upload-artifact@v3 # with: # name: test # path: ${{env.WORK_DIR}}/artifacts####################### <-- not supported yet ??? - name: Copy artifacts after build uses: https://github.com/appleboy/[email protected] with: host: ${{ secrets.SCP_HOST }} username: ${{ secrets.SCP_USERNAME }} password: ${{ secrets.SCP_PASSWORD }} port: ${{ secrets.SCP_PORT }} source: "${{env.WORK_DIR}}/artifacts/*" target: /appdata/artifacts - name: Prepare source_mirror_local on server if: ${{ env.PREP_SOURCE_MIRROR == 'yes' }} uses: https://github.com/appleboy/[email protected] with: host: ${{ secrets.SCP_HOST }} username: ${{ secrets.SCP_USERNAME }} password: ${{ secrets.SCP_PASSWORD }} port: ${{ secrets.SCP_PORT }} script: | cp ${{env.ARTIFACTS_ON_SERVER}}/${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-source_mirror.tar.gz /appdata/lighttpd/var/www/source_mirror_${{ steps.yp_version.outputs.yp_version }}_compressed/ pushd /appdata/lighttpd/var/www/source_mirror_${{ steps.yp_version.outputs.yp_version }}_compressed/ ln -sf ${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-source_mirror.tar.gz DL_DIR.tar.gz ls -lah popd - name: Prepare source_mirror on server if: ${{ env.PREP_SOURCE_MIRROR == 'yes' }} uses: https://github.com/appleboy/[email protected] with: host: ${{ secrets.SCP_HOST }} username: ${{ secrets.SCP_USERNAME }} password: ${{ secrets.SCP_PASSWORD }} port: ${{ secrets.SCP_PORT }} script: | if [ -d /appdata/lighttpd/var/www/source_mirror_${{ steps.yp_version.outputs.yp_version }}.ori ]; then rm -rf /appdata/lighttpd/var/www/source_mirror_${{ steps.yp_version.outputs.yp_version }}.ori fi mv /appdata/lighttpd/var/www/source_mirror_${{ steps.yp_version.outputs.yp_version }} /appdata/lighttpd/var/www/source_mirror_${{ steps.yp_version.outputs.yp_version }}.ori mkdir /appdata/lighttpd/var/www/source_mirror_${{ steps.yp_version.outputs.yp_version }} tar -xzf ${{env.ARTIFACTS_ON_SERVER}}/${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-source_mirror.tar.gz -C /appdata/lighttpd/var/www/source_mirror_${{ steps.yp_version.outputs.yp_version }} pushd /appdata/lighttpd/var/www/source_mirror_${{ steps.yp_version.outputs.yp_version }} echo "${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-source_mirror.tar.gz" > build-version.txt ls -lah popd - name: Populate uninative-tarball on server if: ${{ env.POPULATE_UNINATIVE_TARBALL == 'yes' }} uses: https://github.com/appleboy/[email protected] with: host: ${{ secrets.SCP_HOST }} username: ${{ secrets.SCP_USERNAME }} password: ${{ secrets.SCP_PASSWORD }} port: ${{ secrets.SCP_PORT }} script: | if [ -d /appdata/lighttpd/var/www/releases/uninative/${{env.UNINATIVE_TARBALL_VERSION}}.ori ]; then rm -rf /appdata/lighttpd/var/www/releases/uninative/${{env.UNINATIVE_TARBALL_VERSION}}.ori fi if [ -d /appdata/lighttpd/var/www/releases/uninative/${{env.UNINATIVE_TARBALL_VERSION}} ]; then mv /appdata/lighttpd/var/www/releases/uninative/${{env.UNINATIVE_TARBALL_VERSION}} /appdata/lighttpd/var/www/releases/uninative/${{env.UNINATIVE_TARBALL_VERSION}}.ori fi pushd ${{env.ARTIFACTS_ON_SERVER}} if [ -d deploy-temp ]; then rm -rf deploy-temp fi mkdir deploy-temp tar -xzf ${{env.ARTIFACTS_ON_SERVER}}/${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-deploy.tar.gz -C ${{env.ARTIFACTS_ON_SERVER}}/deploy-temp pushd deploy-temp mkdir -p /appdata/lighttpd/var/www/releases/uninative/${{env.UNINATIVE_TARBALL_VERSION}} cp sdk/* /appdata/lighttpd/var/www/releases/uninative/${{env.UNINATIVE_TARBALL_VERSION}}/ pushd /appdata/lighttpd/var/www/releases/uninative/${{env.UNINATIVE_TARBALL_VERSION}}/ ln -sf x86_64-nativesdk-libc.tar.xz x86_64-nativesdk-libc-${{env.UNINATIVE_TARBALL_VERSION}}.tar.xz echo "${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-deploy.tar.gz" > build-version.txt sha256sum=($(sha256sum x86_64-nativesdk-libc-3.7.tar.xz)) && echo ${sha256sum} > sha256sum.txt cat sha256sum.txt ls -lah popd popd popd - name: Populate sstate_mirror on server if: ${{ env.POPULATE_SSTATE_MIRROR == 'yes' }} uses: https://github.com/appleboy/[email protected] with: host: ${{ secrets.SCP_HOST }} username: ${{ secrets.SCP_USERNAME }} password: ${{ secrets.SCP_PASSWORD }} port: ${{ secrets.SCP_PORT }} script: | if [ -d /appdata/lighttpd/var/www/sstate_mirror_${{ steps.yp_version.outputs.yp_version }}.ori ]; then rm -rf /appdata/lighttpd/var/www/sstate_mirror_${{ steps.yp_version.outputs.yp_version }}.ori fi if [ -d /appdata/lighttpd/var/www/sstate_mirror_${{ steps.yp_version.outputs.yp_version }} ]; then mv /appdata/lighttpd/var/www/sstate_mirror_${{ steps.yp_version.outputs.yp_version }} /appdata/lighttpd/var/www/sstate_mirror_${{ steps.yp_version.outputs.yp_version }}.ori fi mkdir -p /appdata/lighttpd/var/www/sstate_mirror_${{ steps.yp_version.outputs.yp_version }} tar -xzf ${{env.ARTIFACTS_ON_SERVER}}/${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-SSTATE_DIR.tar.gz -C /appdata/lighttpd/var/www/sstate_mirror_${{ steps.yp_version.outputs.yp_version }} pushd /appdata/lighttpd/var/www/sstate_mirror_${{ steps.yp_version.outputs.yp_version }} echo "${{ steps.date.outputs.date }}-${{ steps.note.outputs.note }}-${{ steps.yp_config.outputs.yp_config }}-SSTATE_DIR.tar.gz" > build-version.txt ls -lah popd
Comments