diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 65fb8b6e..82c6e116 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -125,339 +125,6 @@ jobs: exit $ret runs-on: ubuntu-20.04 - test-bt-plugin: - name: Test BT plugin - runs-on: ubuntu-20.04 - needs: - - envs - - build-platform-image - steps: - - name: Remove unnecessary files - run: | - df -h - echo "" - echo "After removed some unused files." - echo "" - sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc \ - /usr/local/share/powershell /usr/share/swift /usr/lib/jvm - df -h - - name: Covert output to env - run: | - echo "SRS_TAG=${{ needs.envs.outputs.SRS_TAG }}" >> $GITHUB_ENV - echo "SRS_MAJOR=${{ needs.envs.outputs.SRS_MAJOR }}" >> $GITHUB_ENV - - name: Checkout repository - uses: actions/checkout@v3 - - name: Download test file - run: | - curl --location --output test/source.200kbps.768x320.flv \ - https://github.com/ossrs/srs/raw/develop/trunk/doc/source.200kbps.768x320.flv - - name: Install tools - run: | - docker run --rm -v /usr/bin:/g ossrs/srs:tools \ - cp /usr/local/bin/ffmpeg /usr/local/bin/ffprobe /g/ - ffmpeg -version - - uses: actions/download-artifact@v3 - with: - name: platform-cache - # See https://github.com/moby/moby/issues/13742#issuecomment-725197223 - - name: Force docker to use vfs. - run: | - sudo systemctl stop docker - echo '{"cgroup-parent":"/actions_job","storage-driver":"vfs"}' | sudo tee /etc/docker/daemon.json - sudo systemctl start docker - - name: Add hosts to /etc/hosts - run: | - sudo echo "127.0.0.1 srs.stack.local" | sudo tee -a /etc/hosts - - name: Build package - run: | - bash scripts/setup-bt/auto/zip.sh --version $SRS_TAG \ - --output build --extract - du -sh build/* - - name: Start BT develop container - env: - BT_API: ${{ secrets.BT_API }} - BT_USER: ${{ secrets.BT_USER }} - run: | - mkdir -p $HOME/.bt - echo -n "$BT_API" > $HOME/.bt/api.json - echo -n "$BT_USER" > $HOME/.bt/userInfo.json - BT_KEY=$(cat $HOME/.bt/api.json |awk -F token_crypt '{print $2}' |cut -d'"' -f3) - - # Note that we must mount the /data to allow test to read the MGMT_PASSWORD in /data/config/.env - docker run -v /data:/data -p 80:80 -p 443:443 -p 7800:7800 \ - -p 2022:2022 -p 1935:1935 -p 8000:8000/udp -p 10080:10080/udp \ - -v $(pwd)/build/oryx:/www/server/panel/plugin/oryx \ - -v $HOME/.bt/userInfo.json:/www/server/panel/data/userInfo.json \ - -v $HOME/.bt/api.json:/www/server/panel/config/api.json -e BT_KEY=$BT_KEY \ - --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ - -d --rm -v $(pwd):/g -w /g --name=bt ossrs/bt-plugin-dev:1 - echo "BT docker started." - - name: Wait for systemd service start - run: | - # We will handle the error by ourselves. - set +e - - for ((i=0; i<10; i++)); do - if [[ $(docker exec bt systemctl status docker >/dev/null 2>/dev/null && echo yes) == yes ]]; then - echo "Docker service started." - break - else - echo "Wait for docker service start." - sleep 1 - fi - done - - docker exec bt systemctl status docker - echo "Docker service started." - - name: Import platform image to BT - run: | - docker exec bt docker load -i platform.tar - echo "Import platform image to BT ok." - - docker exec bt docker tag platform:latest ossrs/oryx:$SRS_TAG - docker exec bt docker tag platform:latest ossrs/oryx:$SRS_MAJOR - docker exec bt docker tag platform:latest registry.cn-hangzhou.aliyuncs.com/ossrs/oryx:$SRS_TAG - docker exec bt docker tag platform:latest registry.cn-hangzhou.aliyuncs.com/ossrs/oryx:$SRS_MAJOR - echo "Tag platform image to BT ok." - - docker exec bt docker images - - name: Install Oryx plugin - run: | - docker exec bt bash /www/server/panel/plugin/oryx/install.sh install - echo "Install Oryx plugin ok." - - docker exec bt python3 /www/server/panel/plugin/oryx/bt_api_create_site.py - docker exec bt python3 /www/server/panel/plugin/oryx/bt_api_setup_site.py - echo "Create SRS site ok." - - docker exec bt bash /www/server/panel/plugin/oryx/setup.sh \ - --r0 /tmp/oryx_install.r0 --nginx /www/server/nginx/logs/nginx.pid \ - --www /www/wwwroot --site srs.stack.local - echo "Setup Oryx plugin ok." - - echo "Setup the dns lookup for domain" - PIP=$(docker exec bt ifconfig eth0 |grep 'inet ' |awk '{print $2}') && - docker exec bt bash -c "echo '$PIP srs.stack.local' >> /etc/hosts" && - docker exec bt cat /etc/hosts && echo OK && - docker exec bt docker exec oryx bash -c "echo '$PIP srs.stack.local' >> /etc/hosts" && - docker exec bt docker exec oryx cat /etc/hosts - - set +e - docker exec bt systemctl status oryx - docker exec bt journalctl -u oryx - docker exec bt docker logs oryx - - name: Check and Test service - env: - SRS_OPENAI_KEY: ${{ secrets.SRS_OPENAI_KEY }} - run: | - # We will handle the error by ourselves. - set +e - - # Record all logs. - docker exec bt journalctl -u oryx -f >journalctl.log 2>&1 & - - echo "Wait for service ready." && - make -j -C test && - bash scripts/tools/secret.sh --output test/.env && - ./test/oryx.test -test.timeout=1h -test.failfast -test.v -endpoint http://srs.stack.local:80 \ - -srs-log=true -wait-ready=true -init-password=true -init-self-signed-cert=true \ - -check-api-secret=true -test.run TestSystem_Empty && - - echo "Make upload writable." && - sudo chmod 777 /data/upload && - - echo "Test HTTP service." && - bash scripts/tools/secret.sh --output test/.env && - ./test/oryx.test -test.timeout=1h -test.failfast -test.v -endpoint http://srs.stack.local:80 \ - -srs-log=true -wait-ready=true -init-password=false -init-self-signed-cert=false \ - -check-api-secret=true -no-media-test && - - echo "Test HTTPS service." && - bash scripts/tools/secret.sh --output test/.env && - ./test/oryx.test -test.timeout=1h -test.failfast -test.v -endpoint https://srs.stack.local:443 \ - -srs-log=true -wait-ready=true -init-password=false -init-self-signed-cert=false \ - -check-api-secret=true -no-media-test && - - echo "Run media test with retry" && - bash scripts/tools/secret.sh --output test/.env && - ./scripts/tools/failed-retry.sh 3 ./test/oryx.test -test.timeout=1h -test.failfast -test.v -endpoint http://srs.stack.local:80 \ - -srs-log=true -wait-ready=true -init-password=false -init-self-signed-cert=false \ - -check-api-secret=true -test.run WithStream - ret=$?; echo "Test result: $ret" - - echo "Stop service" - docker exec bt systemctl stop oryx - docker stop bt - - echo "Log of journalctl.log" && cat journalctl.log - - exit $ret - - test-aapanel-plugin: - name: Test aaPanel plugin - runs-on: ubuntu-20.04 - needs: - - envs - - build-platform-image - steps: - - name: Remove unnecessary files - run: | - df -h - echo "" - echo "After removed some unused files." - echo "" - sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc \ - /usr/local/share/powershell /usr/share/swift /usr/lib/jvm - df -h - - name: Covert output to env - run: | - echo "SRS_TAG=${{ needs.envs.outputs.SRS_TAG }}" >> $GITHUB_ENV - echo "SRS_MAJOR=${{ needs.envs.outputs.SRS_MAJOR }}" >> $GITHUB_ENV - - name: Checkout repository - uses: actions/checkout@v3 - - name: Download test file - run: | - curl --location --output test/source.200kbps.768x320.flv \ - https://github.com/ossrs/srs/raw/develop/trunk/doc/source.200kbps.768x320.flv - - name: Install tools - run: | - docker run --rm -v /usr/bin:/g ossrs/srs:tools \ - cp /usr/local/bin/ffmpeg /usr/local/bin/ffprobe /g/ - ffmpeg -version - - uses: actions/download-artifact@v3 - with: - name: platform-cache - # See https://github.com/moby/moby/issues/13742#issuecomment-725197223 - - name: Force docker to use vfs. - run: | - sudo systemctl stop docker - echo '{"cgroup-parent":"/actions_job","storage-driver":"vfs"}' | sudo tee /etc/docker/daemon.json - sudo systemctl start docker - - name: Add hosts to /etc/hosts - run: | - sudo echo "127.0.0.1 srs.stack.local" | sudo tee -a /etc/hosts - - name: Build package - run: | - bash scripts/setup-aapanel/auto/zip.sh --version $SRS_TAG \ - --output build --extract - du -sh build/* - - name: Start aaPanel develop container - env: - AAPANEL_API: ${{ secrets.BT_API }} - run: | - mkdir -p $HOME/.aapanel - echo -n "$AAPANEL_API" > $HOME/.aapanel/api.json - AAPANEL_KEY=$(cat $HOME/.aapanel/api.json |awk -F token_crypt '{print $2}' |cut -d'"' -f3) - - # Note that we must mount the /data to allow test to read the MGMT_PASSWORD in /data/config/.env - docker run -v /data:/data -p 80:80 -p 443:443 -p 7800:7800 \ - -p 2022:2022 -p 1935:1935 -p 8000:8000/udp -p 10080:10080/udp \ - -v $(pwd)/build/oryx:/www/server/panel/plugin/oryx \ - -v $HOME/.aapanel/api.json:/www/server/panel/config/api.json -e BT_KEY=$AAPANEL_KEY \ - --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ - -d --rm -v $(pwd):/g -w /g --name=aapanel ossrs/aapanel-plugin-dev:1 - echo "aaPanel docker started." - - name: Wait for systemd service start - run: | - # We will handle the error by ourselves. - set +e - - for ((i=0; i<10; i++)); do - if [[ $(docker exec aapanel systemctl status docker >/dev/null 2>/dev/null && echo yes) == yes ]]; then - echo "Docker service started." - break - else - echo "Wait for docker service start." - sleep 1 - fi - done - - docker exec aapanel systemctl status docker - echo "Docker service started." - - name: Import platform image to aaPanel - run: | - docker exec aapanel docker load -i platform.tar - echo "Import platform image to aaPanel ok." - - docker exec aapanel docker tag platform:latest ossrs/oryx:$SRS_TAG - docker exec aapanel docker tag platform:latest ossrs/oryx:$SRS_MAJOR - docker exec aapanel docker tag platform:latest registry.cn-hangzhou.aliyuncs.com/ossrs/oryx:$SRS_TAG - docker exec aapanel docker tag platform:latest registry.cn-hangzhou.aliyuncs.com/ossrs/oryx:$SRS_MAJOR - echo "Tag platform image to aaPanel ok." - - docker exec aapanel docker images - - name: Install Oryx plugin - run: | - docker exec aapanel bash /www/server/panel/plugin/oryx/install.sh install - echo "Install Oryx plugin ok." - - docker exec aapanel python3 /www/server/panel/plugin/oryx/bt_api_create_site.py - docker exec aapanel python3 /www/server/panel/plugin/oryx/bt_api_setup_site.py - echo "Create SRS site ok." - - docker exec aapanel bash /www/server/panel/plugin/oryx/setup.sh \ - --r0 /tmp/oryx_install.r0 --nginx /www/server/nginx/logs/nginx.pid \ - --www /www/wwwroot --site srs.stack.local - echo "Setup Oryx plugin ok." - - echo "Setup the dns lookup for domain" - PIP=$(docker exec aapanel ifconfig eth0 |grep 'inet ' |awk '{print $2}') && - docker exec aapanel bash -c "echo '$PIP srs.stack.local' >> /etc/hosts" && - docker exec aapanel cat /etc/hosts && echo OK && - docker exec aapanel docker exec oryx bash -c "echo '$PIP srs.stack.local' >> /etc/hosts" && - docker exec aapanel docker exec oryx cat /etc/hosts - - set +e - docker exec aapanel systemctl status oryx - docker exec aapanel journalctl -u oryx - docker exec aapanel docker logs oryx - - name: Check and Test service - env: - SRS_OPENAI_KEY: ${{ secrets.SRS_OPENAI_KEY }} - run: | - # We will handle the error by ourselves. - set +e - - # Record all logs. - docker exec aapanel journalctl -u oryx -f >journalctl.log 2>&1 & - - echo "Wait for service ready." && - make -j -C test && - bash scripts/tools/secret.sh --output test/.env && - ./test/oryx.test -test.timeout=1h -test.failfast -test.v -endpoint http://srs.stack.local:80 \ - -srs-log=true -wait-ready=true -init-password=true -init-self-signed-cert=true \ - -check-api-secret=true -test.run TestSystem_Empty && - - echo "Make upload writable." && - sudo chmod 777 /data/upload && - - echo "Test HTTP service." && - bash scripts/tools/secret.sh --output test/.env && - ./test/oryx.test -test.timeout=1h -test.failfast -test.v -endpoint http://srs.stack.local:80 \ - -srs-log=true -wait-ready=true -init-password=false -init-self-signed-cert=false \ - -check-api-secret=true -no-media-test && - - echo "Test HTTPS service." && - bash scripts/tools/secret.sh --output test/.env && - ./test/oryx.test -test.timeout=1h -test.failfast -test.v -endpoint https://srs.stack.local:443 \ - -srs-log=true -wait-ready=true -init-password=false -init-self-signed-cert=false \ - -check-api-secret=true -no-media-test && - - echo "Run media test with retry" && - bash scripts/tools/secret.sh --output test/.env && - ./scripts/tools/failed-retry.sh 3 ./test/oryx.test -test.timeout=1h -test.failfast -test.v -endpoint http://srs.stack.local:80 \ - -srs-log=true -wait-ready=true -init-password=false -init-self-signed-cert=false \ - -check-api-secret=true -test.run WithStream - ret=$?; echo "Test result: $ret" - - echo "Stop service" - docker exec aapanel systemctl stop oryx - docker stop aapanel - - echo "Log of journalctl.log" && cat journalctl.log - - exit $ret - check-pr-test: steps: - name: Wait for PR Test Workflow @@ -480,7 +147,5 @@ jobs: needs: - check-pr-test - test-en-image - - test-bt-plugin - - test-aapanel-plugin steps: - run: echo OK diff --git a/ui/src/pages/Settings.js b/ui/src/pages/Settings.js index 6f746f49..7bdf0940 100644 --- a/ui/src/pages/Settings.js +++ b/ui/src/pages/Settings.js @@ -527,7 +527,7 @@ function SettingLLM() { alert(t('helper.setOk')); console.log(`Setting: Update open ai ok`); }).catch(handleError); - }, [handleError, aiSecretKey, aiBaseURL, aiOrganization]); + }, [t, handleError, aiSecretKey, aiBaseURL, aiOrganization]); return <>