# This is a basic workflow to help you get started with Actions name: slitaz-5.0 env: UPLOAD_RELEASE: true TZ: Asia/Shanghai #on: # push: # branches: # - main # schedule: # - cron: 0 20 1 * * # release: # types: [published] #on: # push: # Sequence of patterns matched against refs/tags # tags: # - '*' # release: # types: [published] on: repository_dispatch: workflow_dispatch: inputs: ssh: description: 'SSH connection to Actions' required: true default: 'false' schedule: - cron: 0 11 * * 1 jobs: build: name: 自动汉化并封装每周官方映像 runs-on: ubuntu-20.04 if: github.event.repository.owner.id == github.event.sender.id steps: - name: Checkout uses: actions/checkout@v2 - name: Space cleanup env: DEBIAN_FRONTEND: noninteractive run: | docker rmi `docker images -q` sudo -E apt-get update sudo -E apt-get -y install zip unzip genisoimage p7zip-full p7zip-rar sudo -E apt-get -y autoremove --purge sudo -E apt-get clean sudo timedatectl set-timezone "$TZ" - name: download iso and unzip iso run: | wget http://mirror.slitaz.org/iso/rolling/slitaz-rolling-core64.iso mkdir iso-old 7z x slitaz-rolling-core64.iso -y -r -o./iso-old wget http://www.ecoo.top:8083/dl/slitaz/iso/rolling/slitaz5-core64-cn-with-docker.iso wget -O ./packages/teasiu-5.0.tazpkg http://www.ecoo.top:8083/dl/slitaz/teasiu-5.0.tazpkg wget -O ./packages/updatetime.txt http://www.ecoo.top:8083/dl/slitaz/iso/rolling/slitaz-rolling-core64-chinese-updatetime.txt - name: download iso32 and unzip iso32 run: | wget http://mirror.slitaz.org/iso/rolling/slitaz-rolling-core.iso mkdir iso-old32 7z x slitaz-rolling-core.iso -y -r -o./iso-old32 - name: docker build a new rootfs64 run: | docker build -t newrootfs -f ./dockerfile-rootfs64 . - name: copy rootfs.gz outside of docker run: | docker run --name myrootfs newrootfs docker cp myrootfs:/tmp/rootfs-new.gz ./iso64/mkiso/rootfs.gz cd ./iso64 sh iso.sh cd ../ - name: docker build a new rootfs32 run: | docker build -t newrootfs32 -f ./dockerfile-rootfs32 . - name: copy rootfs32.gz outside of docker run: | docker run --name myrootfs32 newrootfs32 docker cp myrootfs32:/tmp/rootfs-new.gz ./iso32/mkiso/rootfs.gz cd ./iso32 sh iso.sh - name: Prepare artifact run: | mkdir -p slitaz-artifact cp -a ./slitaz5.0-rolling-core64-cn.iso slitaz-artifact/ cp -a ./slitaz5.0-rolling-core32-cn.iso slitaz-artifact/ cp -a ./slitaz5-core64-cn-with-docker.iso slitaz-artifact/ - name: Deliver package uses: actions/upload-artifact@v2 with: name: slitaz5-rolling-core64 path: slitaz-artifact/ - name: Generate release tag id: tag if: env.UPLOAD_RELEASE == 'true' && !cancelled() run: | echo "::set-output name=release_tag::$(date +"%Y.%m.%d-%H%M")" touch release.txt echo "# hello slitaz!" > release.txt echo "::set-output name=status::success" - name: SSH connection to Actions uses: P3TERX/ssh2actions@v1.0.0 if: (github.event.inputs.ssh == 'true' && github.event.inputs.ssh != 'false') || contains(github.event.action, 'ssh') env: TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} - name: Upload firmware to release uses: softprops/action-gh-release@v1 if: steps.tag.outputs.status == 'success' && !cancelled() env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.tag.outputs.release_tag }} body_path: release.txt files: slitaz-artifact/* # - name: Upload Release Asset # id: upload-release-asset # uses: actions/upload-release-asset@v1 # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # with: # upload_url: ${{ steps.tag.outputs.upload_url }} # asset_path: ./slitaz5.0-rolling-core64-cn.iso # asset_name: slitaz5.0-rolling-core64-cn.iso # asset_content_type: application/iso slitaz: runs-on: ubuntu-20.04 needs: [build] steps: - name: Download a single artifact uses: actions/download-artifact@v2 with: name: slitaz5-rolling-core64 path: slitaz-artifact/ - name: Upload to SourceForge run: | echo "$DEPLOY_KEY" > $HOME/deploy_key cat $HOME/deploy_key set -ex chmod 600 $HOME/deploy_key Localslitaz=`ls -d slitaz-artifact` Remoteslitaz=teasiu@frs.sourceforge.net:/home/frs/project/slitaz/slitaz5-rolling-core64 rsync -e "ssh -i $HOME/deploy_key -oStrictHostKeyChecking=no -oBatchMode=yes" -va --delete $Localslitaz/*.iso $Remoteslitaz env: DEPLOY_KEY: ${{ secrets.TEASIU }}