mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	Works around the issue with Gitlab CI not supporting the expire_in property on the default job properties, as Steelt found. https://gitlab.com/gitlab-org/gitlab/-/issues/404563
		
			
				
	
	
		
			144 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
Alpine 3 GCC:
 | 
						|
  stage: build
 | 
						|
 | 
						|
  when: manual
 | 
						|
 | 
						|
  image: alpine:3
 | 
						|
 | 
						|
  allow_failure: true
 | 
						|
 | 
						|
  cache:
 | 
						|
    - key: apk-$CI_JOB_IMAGE
 | 
						|
      paths:
 | 
						|
        - apk-cache
 | 
						|
      unprotect: true
 | 
						|
 | 
						|
  artifacts:
 | 
						|
    paths:
 | 
						|
      - "build.alpine3/bin/"
 | 
						|
      - "build.alpine3/src/config.h"
 | 
						|
    expose_as: "Apline-3"
 | 
						|
    name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Apline-3"
 | 
						|
    expire_in: 1 day
 | 
						|
 | 
						|
  before_script:
 | 
						|
    - - |
 | 
						|
          # apk_cache
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:apk_cache[collapsed=true]\r\e[0KUpdating APK listing"
 | 
						|
      - export APK_CACHE_DIR=`pwd`/apk-cache
 | 
						|
      - mkdir --parents --verbose $APK_CACHE_DIR/
 | 
						|
      - ln -sf /etc/apk/cache $APK_CACHE_DIR
 | 
						|
      - |
 | 
						|
          # apk_cache
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:apk_cache\r\e[0K"
 | 
						|
 | 
						|
    - - |
 | 
						|
          # apk_update
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:apk_update[collapsed=true]\r\e[0KUpdating APK listing"
 | 
						|
      - apk update
 | 
						|
      - |
 | 
						|
          # apk_update
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:apk_update\r\e[0K"
 | 
						|
 | 
						|
    - - |
 | 
						|
          # apk_upgrade
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:apk_upgrade[collapsed=true]\r\e[0KUpdating existing packages"
 | 
						|
      - apk upgrade
 | 
						|
      - |
 | 
						|
          # apk_update
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:apk_upgrade\r\e[0K"
 | 
						|
 | 
						|
    - - |
 | 
						|
          # apk_common
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:apk_common[collapsed=true]\r\e[0KInstalling common packages"
 | 
						|
      - apk add make git ccache nasm
 | 
						|
      - |
 | 
						|
          # apk_common
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:apk_common\r\e[0K"
 | 
						|
 | 
						|
    - - |
 | 
						|
          # ccache_config
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:ccache_config[collapsed=true]\r\e[0KSetting up ccache config"
 | 
						|
      - mkdir --parents --verbose ~/.ccache/
 | 
						|
      - touch ~/.ccache/ccache.conf
 | 
						|
      - |
 | 
						|
          # cache.conf
 | 
						|
          echo Adding ccache configution option
 | 
						|
      - |
 | 
						|
          # base_dir
 | 
						|
          echo base_dir = $PWD                  | tee -a ~/.ccache/ccache.conf
 | 
						|
      - |
 | 
						|
          # cache_dir
 | 
						|
          echo cache_dir = $PWD/ccache          | tee -a ~/.ccache/ccache.conf
 | 
						|
      - |
 | 
						|
          # compiler_check
 | 
						|
          echo compiler_check = content         | tee -a ~/.ccache/ccache.conf
 | 
						|
      - |
 | 
						|
          # stats_log
 | 
						|
          echo stats_log = $PWD/ccache_statslog | tee -a ~/.ccache/ccache.conf
 | 
						|
      - |
 | 
						|
          # max_size
 | 
						|
          echo max_size = 50M                   | tee -a ~/.ccache/ccache.conf
 | 
						|
      - |
 | 
						|
          # ccache_config
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:ccache_config\r\e[0K"
 | 
						|
 | 
						|
    - - |
 | 
						|
          # cache_reset
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:ccache_reset[collapsed=true]\r\e[0KResetting ccache statistics"
 | 
						|
      - ccache --zero-stats
 | 
						|
      - ccache --show-stats
 | 
						|
      - |
 | 
						|
          # ccache_reset
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:ccache_reset\r\e[0K"
 | 
						|
 | 
						|
  script:
 | 
						|
    - - |
 | 
						|
          # apk_toolchain
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:apk_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
 | 
						|
      - apk add gcc
 | 
						|
      - |
 | 
						|
          # apk_toolchain
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:apk_toolchain\r\e[0K"
 | 
						|
 | 
						|
    - - |
 | 
						|
          # apk_development
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:apk_development[collapsed=true]\r\e[0KInstalling development packages"
 | 
						|
      - apk add cmake musl-dev sdl2_mixer-dev libpng-dev curl-dev libgme-dev libopenmpt-dev miniupnpc-dev
 | 
						|
      - |
 | 
						|
          # apk_development
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:apk_development\r\e[0K"
 | 
						|
 | 
						|
    - - |
 | 
						|
          # cmake
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
 | 
						|
      - cmake -B build.alpine3 -DSRB2_CONFIG_ENABLE_WEBM_MOVIES=OFF -G "Unix Makefiles"
 | 
						|
      - |
 | 
						|
          # cmake
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
 | 
						|
 | 
						|
    - - |
 | 
						|
          # make
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
 | 
						|
      - make --directory=build.alpine3 --keep-going || make --directory=build.alpine3 --keep-going
 | 
						|
      - |
 | 
						|
          # make
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
 | 
						|
 | 
						|
  after_script:
 | 
						|
    - - |
 | 
						|
           # apk_clean
 | 
						|
           echo -e "\e[0Ksection_start:`date +%s`:apk_clean[collapsed=true]\r\e[0KCleaning of unneeded APK packages"
 | 
						|
      - apk cache clean
 | 
						|
      - |
 | 
						|
          # apk_clean
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:apk_clean\r\e[0K"
 | 
						|
 | 
						|
    - - |
 | 
						|
          # ccache_stats
 | 
						|
          echo -e "\e[0Ksection_start:`date +%s`:ccache_stats[collapsed=true]\r\e[0Kccache statistics:"
 | 
						|
      - ccache --show-stats --verbose
 | 
						|
      - ccache --show-log-stats --verbose
 | 
						|
      - |
 | 
						|
          # ccahe_stats
 | 
						|
          echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
 |