RobertBerger icon

03-use-uninative-core-image-minimal-populate-sstate-mirror.yml

RobertBerger | PRO | 06/18/23 08:01:06 AM UTC | 0 ⭐ | 689 👁️ | Never ⏰ | []
text |

31.03 KB

|

None

|

0 👍

/

0 👎

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